全球专业中文经管百科,由121,994位网友共同编写而成,共计435,826个条目

組合模式

用手机看条目

出自 MBA智库百科(https://wiki.mbalib.com/)

組合模式(Composite Pattern)

目錄

什麼是組合模式

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

組合模式的作用

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

  1. 統一元素與部分整體,簡化處理代碼
  2. 將元素內部結構同處理程式解耦,從而一致的對待元素與部分整體。
  3. 實際上,組合模式在應用中其實非常廣泛,像文件系統企業結構等都可以看做是組合模式的典型應用。
  4. Component:定義成介面或者抽象類,是元素與不部分整體的父類。
  5. Leaf:葉子節點,定義了基本元素的特征,繼承自Component父類,是整體最基本的組成部分。
  6. Composite:部分整體或者容器,繼承或實現自Component父類。內部包含Composite或者Leaf的聚合,用來保存內部的組織結構,並且針對該聚合有相應的操作方法。

組合模式的應用

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

  2. 當客戶端忽視結構層次,無差異的看待元素與部分整體,不關心元素和部分整體之間的層次結構,想要實現對統一介面編程的時候。

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

  4.組合模式意圖是通過整體與局部之間的關係,通過樹形結構的形式進行組織複雜對象,屏蔽對象內部的細節,對外展現統一的方式來操作對象,是我們處理更複雜對象的一個手段和方式。公司OA系統如何進行設計有關於此。   綜上,在上述3種情況下可以考慮使用組合模式來設計系統程式。組合模式關鍵定義了一個抽象類或者介面,既可以代表元素又可以代表部分整體,而客戶端是針對該介面進行編程。

相關條目

本條目對我有幫助1
MBA智库APP

扫一扫,下载MBA智库APP

分享到:
  如果您認為本條目還有待完善,需要補充新內容或修改錯誤內容,請編輯條目投訴舉報

本条目由以下用户参与贡献

寒曦,苏青荇.

評論(共0條)

提示:評論內容為網友針對條目"組合模式"展開的討論,與本站觀點立場無關。

發表評論請文明上網,理性發言並遵守有關規定。

打开APP

以上内容根据网友推荐自动排序生成

下载APP

闽公网安备 35020302032707号