如何从类图中判断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)
如果UML关联只是一行,那么你无法分辨.但有两种方法可以描述UML的差异.最常见的方法是显示箭头.这表明UML称之为"导航性".拥有引用的类指向引用的类.您提到的第一个替代方案将描述如下:
导航性箭头指定可以从客户端有效地访问订单,而不管这种情况如何以及为何如此.
在最新版本的UML规范中,引入了点符号.拥有引用的类在关联线的另一侧有一个点(参见UML 2.5规范第11.5.4节).您提到的第一个替代方案将描述如下:
点指定客户端具有属性,该属性是订单的列表/数组.因为这是一种相对较新引入的符号,所以没有广泛使用.
你可以组合点和箭,但我会说一个点意味着可导航性(而不是相反).