定義(GoF《設計模式》):將對象組合成樹形結構以表示“部份整體”的層次結構。組合模式使得用戶對單個對象和組合對象的使用具有1致性。
觸及角色
1.Component:(View)是組合中的對象聲明接口,在適當的情況下,實現所有類共有接口的默許行動。聲明1個接口用于訪問和管理Component子部件。
2.Leaf:(TextView、自定義View)在組合中表示葉子結點對象,葉子結點沒有子結點(即不能在View內再添加View)。
3.Composite:(ViewGroup及其子類)定義有枝節點行動,用來存儲子部件,在Component接口中實現與子部件有關操作,如增加(addView)、取得(getViewAt)和刪除(removeView)等。
適用性
以下情況下適用Composite模式:
1.你想表示對象的部份-整體層次結構
2.你希望用戶疏忽組合對象與單個對象的不同,用戶將統1地使用組合結構中的所有對象。
總結
(1).結構型模式
(2).定義了包括基本對象和組合對象的類層次結構。這類結構能夠靈活控制基本對象與組合對象的使用。
(3).基本對象和組合對象有1致性,用戶不用辨別它們。
(4).使得更容易添加新類型的組件。
未完待續,有不對的地方,請指正。