什么是一个菱形标志在UML类图意味着什么?(What does a diamond sign sig

2019-07-20 17:27发布

考虑下面两个图。 最上面的一个包含在右端纯箭头,底部有一个含有与左端的金刚石和在右端的纯箭头的箭头。 本伟大的书GoF的同时具有这两种图表的用法。

我想了解什么是钻石在第二种情况下表示,和这两个中的一个给人之间的关联性更强CustomerOrder

Customer类,负责的生命周期Order类中的任何一种两种情况?

Answer 1:

如果没有金刚钻 ,那么我们有一个简单的关联

如果钻石是空的 ,这意味着它是一个聚集 。 这种关系比简单的关联更强。 在这种情况下,客户的订单汇总。

如果钻石是黑色的 ,这意味着它是一种组合物 ,其比聚合更强,因为聚集的类不能被其它类进行聚合。 它的“生命”依赖于容器。

我认为这说明一点更清楚,在:

  • 以斯拉,阿维亚德(2009年5月28日),“ UML类图:协会,聚合和组合


Answer 2:

客户和订单是一个“具有-A”组合关系,因为如果客户不再存在,所以做他/她的订单。 因此,所述容器(客户),并且容器(顺序)内的实例之间的生命周期依赖。 当容器不再存在,所以做它的所有实例。

在另一方面,如果我们说一个客户有一本书。 在这种情况下,我们有一个“有,一个”聚合关系。 因为如果客户不再存在,这本书仍然可用。



Answer 3:

它标志着聚集。 维基百科:

在UML中,它被图形地表示为在与所包含的类连接到含有class.The骨料单行树的含类端的中空菱形形状是语义上是在许多操作视为一个单元的扩展对象虽然物理它是由几个规模较小的对象。

http://en.wikipedia.org/wiki/Class_diagram



文章来源: What does a diamond sign signify in UML class diagrams?