概念
將物件組合成樹形結構以表示『部分-整體』的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
角色component:組合中物件介面
leaf:葉子,繼承自component
composite:分支,繼承自component
注意:這裡分為透明模式和安全模式,透明模式指,葉子和分支完全繼承自component,即使沒用的方法也繼承下來。安全模式指,葉子和分支不是都用到的方法,在component中不宣告,至於葉子和分支誰有特殊的方法,誰自己再宣告。
**模型:
這裡用的是透明方式。
component抽象類:
public abstract class component
public abstract void add(component component);
public abstract void remove(component component);
public abstract void operation(int inde);
}
葉子leaf類:
public class leaf : component
public override void add(component component)
public override void remove(component component)
public override void operation(int index)
}
分支composite類:
public class composite : component
public override void add(component component)
public override void remove(component component)
public override void operation(int index)
}
客戶端使用:
static void main(string args)
結果顯示:
組合模式的目的是程式在訪問物件時,有統一的訪問方式。從而可以像處理簡單元素一樣來處理複雜元素。
讀書筆記16 組合模式
概念 將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。角色component 組合中物件介面 leaf 葉子,繼承自component composite 分支,繼承自component 注意 這裡分為透明模式和安全模式,透明模式指,葉子和...
大話設計模式讀書筆記 15 組合模式
組合模式定義 將物件組合成樹形結構,以表示整體 部分的結構,使得使用者對單個物件和組合物件的使用具有一致性部分與整體被一致對待 例如 膝上型電腦,可以複製乙個檔案,也可以複製乙個資料夾 模式結構 component 組合中的物件宣告介面,宣告所有類的預設行為,用以訪問和管理子部件 leaf 表示葉節...
12 組合模式
1.說明 請參見本文第一章 2.組合模式說明 組合模式 將物件組合成樹形介面以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件具有一致性。為了保持整體和區域性的一致性,整體和區域性具有相同的介面,從而避免判斷該節點是整體還是區域性。介面可以實現為空。使用範圍 在需求中體現部分與整...