2010-04-28 45 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 
} 

在第二個圖中,實心菱形代表「組成。」這是一種更具體的關係類型。成分通常與「聚合」比較,這將是一個開放的鑽石。

對於實心鑽石(組合),這意味着訂單對客戶類具有「強烈的生命週期」依賴性。理解作文的常用方式是說一個班級「擁有」另一個班級。在這種情況下,你會說訂單「擁有」了客戶,這並沒有意義,所以我認爲這可能是一個壞例子。真的,客戶應該擁有訂單,所以我認爲鑽石應該放在關係的另一邊。