2012-01-06 59 views
1

這個問題一遍又一遍地重複着我,我找不到明確的答案。對於大多數人來說這應該是微不足道的,所以請你能幫我正確地使用UML嗎?使用UML圖獲取方法和類關係

如果我有類ABCB的一個實例是A的成員,而C的實例是B的成員。現在B提供了一種方法,它返回其類CA的成員在他的一個方法中調用此方法,並對其執行一些操作。在UML中,AC之間是否有dependency?或者是否顯而易見的是,這種關係可以省略(否則UML圖很容易忽略)?爲了說明問題,所描述的情況短的草圖:不需要

enter image description here

回答

2

從A到C的鏈接。

從A到B和B到C的箭頭顯示了可見性(或導航),使得C對B本身是可見的,它本身對A可見,這意味着存在從A到C的假定路徑以及顯式線不需要繪製。另外,就像你說的那樣,遵循這種模式會很快產生一個笨拙的圖。

+0

非常感謝你:) – Fenriswolf 2012-01-06 16:33:16

+0

這個答案是不正確的。如果類型C爲A所知,則A和C之間存在依賴關係。在此示例中,由於C的一個實例正在返回到A,因此這是必要的。然而,它過於複雜的原因是因爲設計不符合得墨忒耳定律。 A應該告訴B該做什麼,哪一部分代表將該任務委託給C. – 2012-01-16 00:16:06

+0

雖然我同意你關於可疑的違反Demeter法律的規定,但它不會改變關於該圖表的任何事情。如果您提到的每個依賴類型的實例都要包含在圖中,它將會迅速消耗大量的空間;要麼需要更大的最終輸出,縮小的字體大小,要麼兩者兼而有之。間接依賴不會自動使圖更清晰。也許如果它是涉及這些類的特定序列圖,當然,但對於域模型的概述,可以推斷這種關係。 – 2012-01-16 17:36:54