登錄

組合模式

百科 > 計算機 > 組合模式

1.什么是組合模式

  組合模式是指將對象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu),組合模式使得用戶對單個對象和組合對象的使用具有一致性。

2.組合模式的作用

  組合模式的目的是:讓客戶端不再區(qū)分操作的是組合對象還是葉子對象,而是以一個統(tǒng)一的方式來操作。實現(xiàn)這個目標的關(guān)鍵之處,是設(shè)計一個抽象的組件類,讓它可以代表組合對象和葉子對象。這樣一來,客戶端就不用區(qū)分到底是組合對象還是葉子對象了,只需要全部當成組件對象進行統(tǒng)一的操作就可以了。

  1. 統(tǒng)一元素與部分整體,簡化處理代碼
  2. 將元素內(nèi)部結(jié)構(gòu)同處理程序解耦,從而一致的對待元素與部分整體。
  3. 實際上,組合模式在應(yīng)用中其實非常廣泛,像文件系統(tǒng)企業(yè)結(jié)構(gòu)等都可以看做是組合模式的典型應(yīng)用。
  4. Component:定義成接口或者抽象類,是元素與不部分整體的父類。
  5. Leaf:葉子節(jié)點,定義了基本元素的特征,繼承自Component父類,是整體最基本的組成部分。
  6. Composite:部分整體或者容器,繼承或?qū)崿F(xiàn)自Component父類。內(nèi)部包含Composite或者Leaf的聚合,用來保存內(nèi)部的組織結(jié)構(gòu),并且針對該聚合有相應(yīng)的操作方法。

3.組合模式的應(yīng)用

  1. 在對象與部分整體之間,想要通過統(tǒng)一的方式對其進行處理,模糊處理其差異的時候可以選用組合模式。

  2. 當客戶端忽視結(jié)構(gòu)層次,無差異的看待元素與部分整體,不關(guān)心元素和部分整體之間的層次結(jié)構(gòu),想要實現(xiàn)對統(tǒng)一接口編程的時候。

  3. 對象的變化是動態(tài),而客戶端想要一致的處理對象的時候。

  4.組合模式意圖是通過整體與局部之間的關(guān)系,通過樹形結(jié)構(gòu)的形式進行組織復雜對象,屏蔽對象內(nèi)部的細節(jié),對外展現(xiàn)統(tǒng)一的方式來操作對象,是我們處理更復雜對象的一個手段和方式。公司OA系統(tǒng)如何進行設(shè)計有關(guān)于此。   綜上,在上述3種情況下可以考慮使用組合模式來設(shè)計系統(tǒng)程序。組合模式關(guān)鍵定義了一個抽象類或者接口,既可以代表元素又可以代表部分整體,而客戶端是針對該接口進行編程。

評論  |   0條評論