我对以下情景的关系有点困惑。当使用组合物的例子时,他们总是倾向于使用简单的组合,例如房间和建筑物。
这种情况是记录医生的患者就诊情况。它是一个联想,组合还是两者兼而有之?我在下面列出了两张不同关系的图片。我在考虑作曲,因为这次访问属于各方?
答案 0 :(得分:2)
一般来说,我的经验法则是,如果有疑问,请始终使用关联而不是合成/聚合。我的理由是:
(1)在Object-oriented analysis and design for information systems Wazlawick指出组成和聚合的真正优势 是部件的属性经常用于导出整体的属性。作为一个例子,他提到订单(整体)的总价值是由其每个项目(部分)的价值得出的。然而,这对他来说是一个设计问题而不是概念建模 关心。从概念建模的角度来看,他认为建模者经常不恰当地应用聚合和组合(即,不存在整体关系的地方),并且他们的使用很少有真正的好处。因此,他建议避免甚至废除他们的使用。
(2)UML旨在通过组合/聚合提供部分整体关系的半形式化。然而,部分整体关系的形式化是一项非常重要的任务,UML规范并不公平。实际上,许多研究人员已经指出了关于聚合和组成的各个方面,其中UML规范在指定之下。所有人都提出了解决UML规范缺点的方法,但到目前为止,这些变化尚未纳入UML规范。例如,请参阅Introduction to part-whole relations。
答案 1 :(得分:1)
如果怀疑使用哪种关联,请使用更通用的关联。特别是,在你的情况下,没有真正的"由"关系。进一步在你的EX2中,你将有一个访问实例,这是一个医生实例和患者实例的存在绑定实例。这是应用组合规则时的问题,因为它还隐含地引入了Doctor和Patien之间的存在关系。因此,不应该这样做。
我想你正在寻找的概念是关联类。这是一个类,该实例为Doctor实例和Patient实例之间的关联提供了一些进一步的信息。