最近自學了設計模式,用c++自己實現的小例子,加深理解。
組合模式
定義:將物件組合成樹形結構以表示「部分-整體」的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。
適用性:
1、 想要表示物件的部分-整體層次結構
2、 希望使用者忽略組合物件與單個物件的不同,使用者將統一的使用組合結構中的所有物件
優點:1、 簡化客戶**,客戶可以一致的使用組合結構和單個物件
2、 容易新增新型別的元件
3、 設計變得更加一般化。
結構:
實現://書上寫的add remove等操作引數型別都是物件,這裡還是用指標的好,物件會出現截斷。
class component
virtual~component() //基類的析構函式,一定要virtual
設計模式C 實現 組合模式
這個模式能夠建立乙個樹形結構,在同乙個結構中處理巢狀選單和選單項組。通過選單和項放在相同結構中,我們建立了乙個 整體 部分 層次結構,即由選單和選單項組成的物件樹。使用組合結構,我們能把相同的操作應用在組合和個別物件上。換句話說,在大多數情況下,我們可以忽略物件組合和個別物件之間的差別。為組合中的物...
設計模式 組合模式 C 實現
將物件組合成樹形結構以表示 部分 整體 的層次結構。composite模式使得使用者對單個物件和組合物件的使用具有一致性。1.模式定義 組合模式 composite pattern 將小物件組合成樹形結構,使使用者操作組合物件如同操作乙個單個物件。組合模式定義了 部分 整體 的層次結構,基本物件可以...
設計模式C 實現 組合模式
這個模式能夠建立乙個樹形結構,在同乙個結構中處理巢狀選單和選單項組。通過選單和項放在相同結構中,我們建立了乙個 整體 部分 層次結構,即由選單和選單項組成的物件樹。使用組合結構,我們能把相同的操作應用在組合和個別物件上。換句話說,在大多數情況下,我們可以忽略物件組合和個別物件之間的差別。compon...