組合模式就是zai乙個物件中包含其他物件,這些被包含的物件可能是終點物件(不再包含別的物件),也有可能是非終點物件(其內部含包含其他物件),我們將物件稱為節點,即乙個根節點包含許多子節點,這些子節點有的不在包含子節點,而有的仍然包含子節點,以此類推。
何時使用:當你發現需求中是體現部分與整體層次的結構時,以及你希望使用者可以忽略組合物件與單個物件的不同,同意的使用組合結構中的所有物件是,就應該考慮用組合模式了。
好處:組合模式讓客戶可以一致的使用組合結構和單個物件。(高層模組呼叫簡單模組,節點自由增加)
abstract class component //介面
public abstract void add(component c);//增加
public abstract void remove(component c);//移除
public abstract void display(int depth);//顯示
}class leaf:component
public override void add(component c)
public override void remove(component c)
public override void display(int depth)
}class composite:component
public override void add(component c)
public override void remove(component c)
public override void display(int depth)
}
}
客戶端:
static void main(string args)
所謂組合模式,其實就是再說物件包含物件的問題,通過組合方式來進行布局(也就是在物件的內部引用物件)。這種組合是區別於繼承的,它的另一層含義是指樹形結構子節點的抽象,區別於普通的分別定義葉子節點與數值節點的方式。(將葉子節點與與樹枝節點抽象為子節點) 組合模式 設計模式 組合模式
1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...
設計模式 組合模式 組合模式使用
目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...
設計模式 組合設計模式
組合模式 composite pattern 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...