2012-01-07 70 views
1

據說複合圖案允許您將對象合成到樹狀結構中以表示部分 - 整個層面。還說,複合圖案可以讓客戶端統一處理單個對象和對象組合。我只需要解釋一下對待個體對象和對象組合的含義。複合圖案的定義

回答

1

它可以讓你把一組對象看作一個單一的實體。

的複合圖案描述了一組對象是要 以同樣的方式作爲對象的單個實例處理...

Wikipedia描述的示例非常好,圖和實施例在這裏重複的代碼太多了。

9

複合模式是一種分區設計模式。
複合模式描述了group of objects將以與object的單個實例相同的方式處理。組合的意圖是將「構成」對象轉換成樹結構以表示部分 - 整體層次結構。實現組合模式可以讓客戶端統一處理各個對象和組合。
enter image description here
複合時,可以使用客戶端應該忽略的objectsindividual objectscompositions之間的差異。如果程序員發現他們以相同的方式使用多個對象,並且通常具有幾乎相同的代碼來處理每個對象,那麼複合是一個不錯的選擇;在這種情況下將原始圖和複合圖視爲同質對象並不那麼複雜。

0

我會盡量讓你理解一個例子: 考慮我們有一個像任何其他有僱員和經理的組織。當然,經理們可以有多個僱員。 現在,如果我們嘗試使用組合模式設計應用程序,那麼管理人員將會是具有他們下方的員工列表的組合。 您的問題的答案是 - 雖然Mangers是複合材料,但他們也需要作爲員工對待,因爲他們有共同的行爲,不是嗎? 希望這有助於。