設計模式(11)組合模式--結構型

定義

允許你將對象組合爲樹形結構來表現“整體/部分”層次結構。組合能讓客戶以一致的方式處理個別對象以及對象組合。

角色

抽象構件角色(component)

是組合中的對象聲明接口,在適當的情況下,實現所有類共有接口的默認行爲。聲明一個接口用於訪問和管理Component子部件。

樹葉構件角色(Leaf)

在組合樹中表示葉節點對象,葉節點沒有子節點。並在組合中定義圖元對象的行爲。

樹枝構件角色(Composite)

定義有子部件的那些部件的行爲。存儲子部件。在Component接口中實現與子部件有關的操作。

類圖

示例

要點

1.組合模式解耦了客戶程序與複雜元素內部結構,從而使客戶程序可以向處理簡單元素一樣來處理複雜元素。
2.如果你想要創建層次結構,並可以在其中以相同的方式對待所有元素,那麼組合模式就是最理想的選擇

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章