組合模式是結構型物件模式的乙個例項,它描述了如何構造乙個類層次式結構,這一結構由兩種型別的物件(基元物件和組合物件)所對應的類構成,其中的組合物件使得你可以組合基元物件以及其他的組合物件,從而形成任意複雜的結構。
定義
將物件組合成樹形結構以表示「部分-整體」的層次結構,組合模式使得使用者單個物件和組合物件的使用具有一致性。
使用場景
你想表示物件的部分-整體層次結構
你希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。
結構
實現
public
abstract
class
component
public
class
composite
extends
component
@override
public
void
add(component component)
@override
public
void
remove(component component)
@override
public component getchild(int index)
}public
class
leaf
extends
component
@override
public
void
add(component component)
@override
public
void
remove(component component)
@override
public component getchild(int index)
}
組合模式常用於樹形結構比如檔案系統,二叉樹,目錄之類的,能夠簡化客戶**,而且能夠很容易地新增新型別的元件 設計模式之組合模式
組合模式 以 整體 部分 的層次結構,將物件以樹型結構組合起來。如下圖所示 組合模式首先得定義乙個用來管理和訪問部件們的抽象類。public abstract class equipment 再建立乙個組合體的部件 class element equipment 現在我們再來定義乙個組合體,也就是組...
設計模式之 組合模式
有時候我們需要維護一些物件,這些物件具有一定的層次結構,它們之間雖然差異很大,但在使用的時候我們希望能構一致的對待,比如windows控制項,繪圖中的圖形等,這個時候我們就可以採用組合模式來進行管理。組合模式就是將要管理的物件按樹型結構來進行組織,表示成一種 整體 部分 的層次結構,使得使用者對單個...
設計模式之組合模式
組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。使得使用者對單個物件和組合物件的使用具有一致性。適用性 想表示物件的部分 整體層次結構,希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。典型表示結構圖 宣告組合中的物件宣告介面 在適當的情況下,實現所有類共...