2017-03-22 185 views
-2

我對聚合有兩個疑問。在類A中有B類聚合的類圖中: 1)鑽石的基數是多少? 2)可以表示B類可以訪問A嗎? (內容可以看到容器)UML圖中的聚合基數

謝謝。

回答

0

看看下面的設計:

enter image description here

A可以看到Bb,反之亦然可以看作是a。未填充的菱形是一個共享的聚合,每個UML規範都沒有固定的語義(建議在當前域中同意它的含義)。多重性表明A在B中彙總爲0..*次。進一步1..*B s在A中可見。現在開始思考這可能意味着什麼以及如何聚合(沒有固定語義的共享)影響設計。

相比之下,實心鑽石是一種複合聚合體。這意味着A的使用期限必須爲B。因此,如果B去世,它所有的A都必須說出他們最後的祈禱。

對於複合聚合,在B側應該只有1多重性,否則您會遇到麻煩。以下是他的規格說明:

合成聚合是一種強有力的聚合形式,它需要一次將最多一個合成對象包含在零件對象中。如果複合對象被刪除,則它的所有零件實例都將被刪除。

+0

你可以在鑽石的一面畫一個箭頭來表示A可以導航到B嗎? – Alberto

+0

你可以。然而,箭頭符號現在被顯示所有權的小點代替。此外角色名稱清楚地表明您可以導航(因爲您分配了角色名稱)。 –