带箭头和不带箭头的 UML 聚合的区别
Posted
技术标签:
【中文标题】带箭头和不带箭头的 UML 聚合的区别【英文标题】:Difference of UML Aggregation with and without arrow head 【发布时间】:2018-08-26 20:23:54 【问题描述】:注意:这不是uml-aggregation-with-and-without-arrow-head的复制品,而是它的改进版!
在uml-aggregation-with-and-without-arrow-head 中,聚合被解释为黑色填充钻石。这显然是错误,因为 FILLED 钻石是一种组合物。到目前为止我还没有看到带有箭头的组合,所以我的问题是在 aggregation
的上下文中我提出问题的动机来自 Gof23。那本书中的类图包含带有箭头的聚合。所以我对此很困惑,因为我通常只使用没有箭头的聚合
问题:带箭头的聚合<>----->
和不带箭头的聚合<>-----
有什么区别? p>
【问题讨论】:
Aggregation and navigability at the same end的可能重复 这仍然是重复的。提供给另一个问题的答案对于这个问题仍然有效,因为它清楚地表明“任何关联”。如果您有共享或复合聚合并不重要。同样在规范的新版本中,术语shared aggregation
和composite aggregation
优于旧术语aggregation
和composition
。因此,对聚合的引用涵盖了这两种情况,聚合通常用菱形表示,而空心或填充仅表示聚合是共享的或复合的。
UML Aggregation with and without arrow head的可能重复
【参考方案1】:
你的问题的答案和我的问题的答案一样
composition有箭头
<>----->
和composition没有箭头<>-----
有什么区别?
请参阅https://***.com/a/21767999/2795909,但您必须将实心菱形(用于成分)替换为空心菱形(用于聚合)。
由于您询问导航箭头的使用,答案并不取决于关联的类型(普通、聚合、复合)。所以,你也可以完全放下钻石问
带箭头
----->
的关联和不带箭头-----
的关联有什么区别?
仍然得到相同的答案。
【讨论】:
非常感谢您的提醒 :) 这个答案确实解释了我的困惑以上是关于带箭头和不带箭头的 UML 聚合的区别的主要内容,如果未能解决你的问题,请参考以下文章