【发布时间】:2010-12-26 18:09:36
【问题描述】:
在这个展示如何绘制类图的网页上,为什么关联的箭头是从订单指向客户,而不是从客户指向订单?
【问题讨论】:
在这个展示如何绘制类图的网页上,为什么关联的箭头是从订单指向客户,而不是从客户指向订单?
【问题讨论】:
这是因为订单“有”对客户的引用。
在数据库中,这将是存储客户 ID 的订单表中的外键。
在代码中,您可以将关联客户对象的引用存储在订单对象中。所以订单指向的是客户,反之亦然。
【讨论】:
customer 有很多orders 并为客户添加订单的收集参考?
可能是因为订单与客户相关联?这类事情可以被视为以任何一种方式工作,或者有时两者兼而有之。
【讨论】:
箭头描述了您可以导航的方式。因此,在此图中,您可以从订单转到客户。另一方面:没有箭头意味着不是“不可导航”,而是“没有评论”。没有明确的正确方法。
【讨论】:
这是一个依赖,是一种特殊的弱关联类型。这意味着要存在订单,必须在某个时间点存在客户。在“订单”的生命周期中的某个时刻可能没有强制执行此要求。
【讨论】:
关联端在 UML 中具有布尔导航属性。在这种情况下,向客户订购方向的可导航性设置为真,而向客户订购方向的导航设置为假。
有了这个,模型的设计者表达了订单,现在谁是与订单相关联的客户,但客户不能直接访问他们的订单。
如果我们看一下这个模型的 Java 代码,导航性就更容易理解了。对于此示例,此可导航性意味着 Order 具有 Customer 类型的属性,但 Customer 没有用于存储他/她的订单的集合属性
【讨论】:
这可能会有所帮助:
UML 类图:指南:http://msdn.microsoft.com/en-us/library/dd409416%28VS.100%29.aspx
关联的属性
可导航:如果仅对一个角色为 true,则会在可导航方向上显示一个箭头。这 关联可以在这个方向上阅读。您可以使用它来指示链接的可导航性和 软件中的数据库关系。
UML 类图中的关联属性:http://msdn.microsoft.com/en-us/library/dd323862%28VS.100%29.aspx
如果一个角色可导航而另一个角色不可导航,则在导航中的关联上会出现一个箭头 (7) 方向。
【讨论】:
箭头描述可导航性。
【讨论】: