我在
中阅读了这些帖子但是UML类图关联的“导航”和“所有权”之间的区别仍然不明确。此外,UML 2.5也在此期间发布。
规范声明如下:
类拥有的关联结束总是可以导航,而那些 协会拥有的可以是否可以通航。
答案 0 :(得分:1)
规格说
点符号用于表示关联结束所有权,其中点表示该行另一端的Class拥有其类型为点所触及的类的属性。
所以 a 和 c 是有效的,而 c 是很奇怪的。假设左开始课程A
而右边是课程B
。如果 A
拥有类型为B
的属性,则可以导航到该属性。案例 b 明确地添加了A
可以导航到B
的信息,这些信息已经通过使用点显而易见。如果 c B
拥有A
类型的属性(因此可以导航)。另外,您指明从A
到B
的导航,而不显示所有权。这很奇怪。
所有权只是说有一些东西(一个指针)导航到另一个对象。引用规范(第126页):
可能会显示导航箭头,但如果显示,则应同意协会结束的导航。
以及之后(第201页):
在实践中,通常很方便地抑制表示关联结束的导航性的一些箭头和十字架。符合标准的工具可以提供用于显示导航箭头和十字架的各种选项。与点表示法一样,这些选项适用于完整图表的级别。
- 显示所有箭头和十字架。导航及其缺失是完全明确的。
- 禁止所有箭头和十字架。没有关于导航的推论。
- 抑制所有十字架。在两个方向上抑制具有导航功能的关联箭头,并仅为具有单向导航功能的关联显示箭头。在这种情况下,双向导航性不能与根本没有导航的情况区分开来;然而,后一种情况在实践中很少发生。
导航没有实际用途(在大多数情况下)。您可以通过添加角色名称来显示导航,从而明确A
将B
视为role
。有一个十字架附近的符号明确禁止导航。在某些情况下,这可能很有用。
可能会注意到规格对于导航"而言相当沉默。 (只是grep事件)与"所有权" (使用的相当多)。这可能是因为最近已经引入了所有权。