UML - 关于子项的父项与父项属性的子项列表

Rod*_*Stv 5 uml

如何从类图中判断1对N关系是否意味着每个孩子的父母或父母的孩子列表?或两者?

例如.如果有客户端和客户端有订单,那么无论如何都要从UML类图中告诉以下实现是什么情况?

class Client {
    array orders;
}

class Order {}
Run Code Online (Sandbox Code Playgroud)

要么

class Client {}
class Order { 
   client parent; 
}
Run Code Online (Sandbox Code Playgroud)

www*_*.nl 6

如果UML关联只是一行,那么你无法分辨.但有两种方法可以描述UML的差异.最常见的方法是显示箭头.这表明UML称之为"导航性".拥有引用的类指向引用的类.您提到的第一个替代方案将描述如下:

箭头

导航性箭头指定可以从客户端有效地访问订单,而不管这种情况如何以及为何如此.

在最新版本的UML规范中,引入了点符号.拥有引用的类在关联线的另一侧有一个点(参见UML 2.5规范第11.5.4节).您提到的第一个替代方案将描述如下:

点

点指定客户端具有属性,该属性是订单的列表/数组.因为这是一种相对较新引入的符号,所以没有广泛使用.

你可以组合点和箭,但我会说一个点意味着可导航性(而不是相反).