2013-03-23 73 views

回答

6

你需要的不是一個關聯(也不是一個聚合或者是特定關聯的合成),因爲一個關聯引用了你的ClassA屬性類型爲ClassB。

這裏,對於方法參數,可以在類之間使用依賴關係箭頭(虛線箭頭)。這是一個非常普遍的關係,應該符合你的目的。

例如,見這裏的解釋:http://martinfowler.com/bliki/DependencyAndAssociation.html

+0

好一點,因爲參考似乎是短暫的,而不是靜態的,依賴更爲恰當 – SomeWittyUsername 2013-03-24 09:13:09

1

Association是一個類到另一個類的鏈接,因此指針/引用描述了一個關聯。

Aggregation/Composition描述了關聯的類型,因此實際上是關聯的類型(但存在不是聚合/合成的關聯類型)。

是否要使用聚合或關聯取決於您要在圖表中顯示的詳細程度。

鑑於問題描述,連接是較弱的類型,因爲它不是一個靜態鏈接,而是一個短暫的鏈接。在這種情況下,更合適的是使用關係而不是關聯。

5

正如其他人解釋,你應該使用依賴,並沒有任何形式的聯繫(聚合和組合)的。

依賴意味着目標元素是規範或實現源元素所必需的。

但是,有很多不同類型的依賴關係。依賴關係的類型可以由關鍵字和原型指定。在你的情況,你應該使用dependency用關鍵字<<use>>

enter image description here

爲了解釋<<use>>我從第196頁引用書UML 2 and The Unified Process的一部分:

這種依賴性(使用)產生出現下列情況之一:

1-類A的操作需要類的參數乙

2-類A的一個操作返回類B的值

3-類A的操作使用類B的一個目的某處在其執行但不作爲一個屬性。

P.S:依賴關係可以具有的其他關鍵字/構造型是調用,創建,派生,實例化,允許,實現,優化和跟蹤。

+0

你如何知道這是*使用*在這種情況下? – SomeWittyUsername 2013-03-24 16:31:49

+0

@icepack,這就是'<>'的定義。查看我從UML 2和統一過程書中添加到我的答案中的部分。 – jurgenreza 2013-03-24 17:07:29

+0

問題中沒有任何內容將其限制爲此類型。它可以是電話或跟蹤,例如 – SomeWittyUsername 2013-03-24 22:17:32

0

「使用依賴關係並沒有指定客戶如何使用供應商,除了客戶定義或實現使用供應商這一事實,例如,它可能意味着某個(或多個)客戶端)類使用另一個(供應商)類的對象(例如參數)「

REF:enter link description here

相關問題