2010-04-28 75 views

回答

4

在第一张照片,一个Order只能被关联到一个Customer,而一个Customer可以有许多Order的。

第二个例子中的黑色菱形称为composition或关联关系。组合通常在容器类的实例和所包含的类的实例之间具有很强的生命周期依赖性。在你的情况下,Order是容器类,而Customer是它的包含类。

参考:

+2

http://en.wikipedia.org/wiki/Class_diagram还介绍了一些额外的元素 – nevets1219 2010-04-28 00:40:31

+0

@ nevets1219:谢谢,你已经打败了我。 :) – 2010-04-28 00:41:40

1

这里是一个good site记住这些

作为安东尼说为实际的例子

2

在顶部图中,箭头表示协会。这意味着客户可以有许多订单,而订单可以有一个客户。由于每端都有一个箭头,这意味着这种关系是“双向的”,这意味着每个类都有一个对另一个的引用(每个类“知道”另一个)。

相应的类可能是这样的:

public class Order 
{ 
    public Customer Customer {get;set;} 
    // Other order properties 
} 

public class Customer 
{ 
    public List<Order> Orders {get;set;} 
    // Other Customer properties 
} 

在第二个图中,实心菱形代表“组成。”这是一种更具体的关系类型。成分通常与“聚合”比较,这将是一个开放的钻石。

对于实心钻石(组合),这意味着订单对客户类具有“强烈的生命周期”依赖性。理解作文的常用方式是说一个班级“拥有”另一个班级。在这种情况下,你会说订单“拥有”了客户,这并没有意义,所以我认为这可能是一个坏例子。真的,客户应该拥有订单,所以我认为钻石应该放在关系的另一边。