組合模式
允許你將物件組合成樹形結構來表現「整體/部分」層次結構。組合能讓客戶以一致的方式處理個別物件以及物件組合。
使用組合結構,我們能把相同的操作應用在組合和個別物件上。換句話說,在大多數情況下,我們可以忽略物件組合和個別物件之間的差別。
說明:
1、組合模式使新增或者刪除子節點變得容易;
場景:
1、想要標識物件的部分-整體結構;
2、想要客戶端忽略組合物件和個體物件的差異,客戶端將統一使用組合結構中的所有物件;
* 為組合中所有物件定義乙個介面,不管是組合還是節點
* */
public abstract class component
public void remove(component component)
public string getname()
public void foreach()
}
/*** 子節點
* */
public class leaf extends component
@override
public void add(component component)
@override
public void remove(component component)
@override
public string getname()
}
/*** 組合類
* */
public class composite extends component
@override
public void add(component component)
@override
public void remove(component component)
@override
public void foreach()
}
@override
public string getname()
}
public class client
}
設計模式學習筆記 組合模式
定義 將物件組合成樹形結構以表示 部分 整體 的層次結構,使得使用者對單個物件和組合物件的使用具有一致性。組合模式主要用來處理一些具有 容器特徵 的物件,即他們在充當物件的同時,又可以作為容器包含其他的多個物件。也就是說組合模式表達的是一種樹形的結構,將資料結構中的 樹 用物件導向的方式表現出來了,...
設計模式學習筆記 組合模式
聽名字就像是把什麼東西組合在一起的設計模式,所以 組合模式就是將兩個類中的一些共同的方法抽象在一起然而,很多時候,一些類中的方法很明顯會不一樣,這裡,感覺 headfirst 上那個例子就挺好的,然後我做了下修改。public inte ce menuitem首先去設計乙個選單選項,一些和選單公有的...
《設計模式》學習筆記 組合模式
組合模式 composite pattern 將物件組合成樹形結構以表示 部分 整體 的層次結構,組合模式使得使用者對單個物件和組合物件的使用具有一致性。掌握組合模式的重點是要理解清楚 部分 整體 還有 單個物件 與 組合物件 的含義。組合模式可以讓客戶端像修改配置檔案一樣簡單的完成本來需要流程控制...