没有可导航性的关联名称?

Association names on ends without navigability?

我有一个关于 UML Class 图的问题。

我知道我只能用一个名字来指代双方,但我的问题是:

关联单向时是否需要在关联的两边显示关联名称?

关联端是属性(即 "variables")。当 class 拥有 属性 而 属性 未命名时,这可能是一个问题。相反,当一个协会拥有一个未命名的 属性 时,这并不是真正的问题。您不需要为协会拥有的属性指定名称。

这是一个例子。我已经让 MagicDraw 也将关联端属性显示为属性,只是为了说明一点:

注意 theB 如何在 class A 中显示为 属性 并在与 class B 关联的末尾.那是因为它们是显示相同内容的两种不同方式 属性。 (这是一种显示关联端属性的特殊方式,我们通常不会在工具中打开它。)还要注意 class C 如何有一个 unnamed 属性 在框内并在与 class A 关联的末尾。同样,这是显示相同 属性 的两种不同方式。您将如何用编程语言实现未命名的 属性 ?这可能是个问题,对吧?

另一件需要注意的事情是 class B 没有名为 theA 的属性,并且 class A 没有名为 A 的属性theC。那是因为这些属性是不可导航的,并且 associations 拥有这些属性。

合并导航性和 属性 所有权在 UML 中已被弃用。最近,UML 规范引入了 "association dot notation" 来指示 属性 所有权。 (末尾的点表示 class 拥有 属性。)就个人而言,我从来没有遇到过合并问题,而且我讨厌新的点表示法。许多工具不支持它,我认为它非常丑陋。此外,没有点的图是不明确的。您无法判断它是在规范中引入点之前还是之后绘制的!