我在完全理解組合和聚合方面遇到了一些麻煩。從我所瞭解的構圖關係來看,如果一個人死於其他死亡。聚合意味着它們是由那個形成的,但不一定依賴於那些事物的持續存在。UML圖幫助(聚合/組合)
這是我爲一場心靈的遊戲拼湊而成的UML。我是否正確掌握了這個概念?
我在完全理解組合和聚合方面遇到了一些麻煩。從我所瞭解的構圖關係來看,如果一個人死於其他死亡。聚合意味着它們是由那個形成的,但不一定依賴於那些事物的持續存在。UML圖幫助(聚合/組合)
這是我爲一場心靈的遊戲拼湊而成的UML。我是否正確掌握了這個概念?
什麼是組成和聚合?
的組合物和聚集表示整體/部分關係(UML 2.5,節11.5.3.1):
二進制協會可表示複合聚合(即, 整體/部分關係 )。
所以如果你使用鑽石,你應該首先問自己它是否真的是整體/部分關係,然後再考慮如何創建或刪除對象。
然後,合成對共享聚合具有附加限制。在構圖關係中(UML 2.5,9.5.3節):
(...)組合對象負責組合對象的存在和存儲 。
合成聚合是 聚合的強大形式,要求一次將最多一個對象包含在一個組合對象中。如果複合對象被刪除,則其所有對象零件實例都將被刪除。您的具體diagramm的
分析根據您的圖表:
謝謝。這幫了一大筆錢。 – rizz
您對UML 2.5的引用不完整。他們也容易混淆地說:「在複合對象被刪除之前,部分對象可能會從複合對象中被刪除,因此不能作爲複合對象的一部分被刪除」。看到我的答案http://stackoverflow.com/questions/734891/aggregation-versus-composition/27889087#27889087 –
我會告訴你,你的卡類看起來不對。那些應該完成的整數屬性是什麼? –
@JimL。哈哈我正在使用預定義的卡類。我不會這樣設計它,但必須解決這個設計。 – rizz
你用什麼工具繪製這個圖,爲什麼它會複製兩個類的memberName?看起來不像真正的UML。 –