在C ++值类型中,隐含的是最强的关联,但是我可以想象当使用指针/引用时,类之间的五个关系(通过聚合强度排序):
information level +------+------+------+------+
v ownership>| none | weak |shared|unique|
+----------------------+------+------+------+------+
|knows/includes/uses | 2 | 3 | 4 | 5 |
+----------------------+------+------+------+------+
|passes/forward declare| 1 | -- | -- | -- |
+----------------------+------+------+------+------+
其中一些可能不符合UML的意图(例如1)。但是,我希望看到我设计的耦合度量。这五种类型的关联如何适合类图。表示这种关联的常见做法是什么?
这是我到目前为止的想法:
[1]不清楚。如果有一颗钻石,所有空心钻石都表明所有权较弱。但如果没有专门的所有者弱,则无法区分共享引用。或者弱所有权在概念上与没有所有权相同?
答案 0 :(得分:0)
UML故意不提供特定于语言的概念。使用UML,您应该为给定的问题域建模您的系统。语言细节留给实施该模型的人。
答案 1 :(得分:0)
UML中没有关于如何解释各种类型关系之间的语义差异的严格规则,特别是没有关于如何将某种编程语言中的构造转换为UML的规则。
但业内有一些最佳实践。我已经在我的网站上记录了一些最佳实践。
在你的情况下,我也会考虑使用依赖。这可能是UML中最薄弱的环节。当我想在视觉上强调其中一个参数或属性
中使用类型时,我经常使用它