組合模式 C 實現

2021-06-20 00:31:29 字數 1586 閱讀 7380

最近自學了設計模式,用c++自己實現的小例子,加深理解。

組合模式

定義:將物件組合成樹形結構以表示「部分-整體」的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。

適用性:

1、  想要表示物件的部分-整體層次結構

2、  希望使用者忽略組合物件與單個物件的不同,使用者將統一的使用組合結構中的所有物件

優點:1、  簡化客戶**,客戶可以一致的使用組合結構和單個物件

2、  容易新增新型別的元件

3、  設計變得更加一般化。

結構:

實現://書上寫的add  remove等操作引數型別都是物件,這裡還是用指標的好,物件會出現截斷。

class component

virtual~component()     //基類的析構函式,一定要virtual

設計模式C 實現 組合模式

這個模式能夠建立乙個樹形結構,在同乙個結構中處理巢狀選單和選單項組。通過選單和項放在相同結構中,我們建立了乙個 整體 部分 層次結構,即由選單和選單項組成的物件樹。使用組合結構,我們能把相同的操作應用在組合和個別物件上。換句話說,在大多數情況下,我們可以忽略物件組合和個別物件之間的差別。為組合中的物...

設計模式 組合模式 C 實現

將物件組合成樹形結構以表示 部分 整體 的層次結構。composite模式使得使用者對單個物件和組合物件的使用具有一致性。1.模式定義 組合模式 composite pattern 將小物件組合成樹形結構,使使用者操作組合物件如同操作乙個單個物件。組合模式定義了 部分 整體 的層次結構,基本物件可以...

設計模式C 實現 組合模式

這個模式能夠建立乙個樹形結構,在同乙個結構中處理巢狀選單和選單項組。通過選單和項放在相同結構中,我們建立了乙個 整體 部分 層次結構,即由選單和選單項組成的物件樹。使用組合結構,我們能把相同的操作應用在組合和個別物件上。換句話說,在大多數情況下,我們可以忽略物件組合和個別物件之間的差別。compon...