如果我有一個包含「委託」實例的類「Foo」。富委託方法調用類「代表」,例如:UML依賴關係 - 我應該在這裏使用它嗎?
public class Foo {
private Delegate delegate = new Delegate();
public void bar() {
delegate.bar();
}
}
當我在UML繪製Foo類,將它有它和委託類之間的依賴關係(帶箭頭的虛線),或將它有一條代表構成關係的線條?
如果我有一個包含「委託」實例的類「Foo」。富委託方法調用類「代表」,例如:UML依賴關係 - 我應該在這裏使用它嗎?
public class Foo {
private Delegate delegate = new Delegate();
public void bar() {
delegate.bar();
}
}
當我在UML繪製Foo類,將它有它和委託類之間的依賴關係(帶箭頭的虛線),或將它有一條代表構成關係的線條?
關於UML的好處是你有一些餘地,但在你的情況下,恕我直言,依賴關係更好。
你沒有delegate
爲Foo
的屬性(有沒有getDelegate
),所以沒有人在看你的系統會真的在意一個Foo
是由委託的(除其他事項外)。然後,如果你的UML圖被賦予了一個可以從圖中生成代碼的工具,那麼它可能會如此。 :)
做什麼感覺正確的人(或代理)你是誰給圖。
我會在這種情況下使用構圖關係。如果您還沒有確定Foo是否包含Delegate實例,那麼依賴關係就沒有問題。但是,如果你已經做出了這個決定,那麼隱藏附加信息並沒有什麼好處,實際上它可能是誤導性的(讀者可能會認爲它不是一個遏制因果,如果它是這樣的話) 。
嗨。我已經決定Foo *將包含一個Delegate的實例。那麼,它應該作爲一個依賴嗎?謝謝 – Joeblackdev
在這種情況下,我會使用組合關係。 –
我不會使用缺少吸氣劑作爲強有力的指標。我從來不喜歡UML中的依賴關係。面向對象的基本知識已經被充分地涵蓋了,所以我在做非面向對象建模時主要使用它們。但如果沒有人需要知道Foo在內部做了什麼,那麼我不會爭辯;) – ShiDoiSi