設計模式 組合模式

2021-08-08 16:14:31 字數 1065 閱讀 9990

這篇主要講述設計模式中的組合模式。組合模式又叫部分整體模式,是用於把一組相似的物件當作乙個單一的物件。組合模式依據樹形結構來組合物件,用來表示部分以及整體層次。這種型別的設計模式屬於結構型模式,它建立了物件組的樹形結構。

樹形結構在軟體中隨處可見,例如作業系統中的目錄結構、應用軟體中的選單、辦公系統中的公司組織結構等等。

接下來看看組合模式的結構圖

在組合模式結構圖中包含如下幾個角色:

component (抽象構件)

public

abstract

class component

leaf (葉子構件)

public

class

leaf

extends

component

@override

public

void

remove(component component)

}

composite (容器構件)

public

class

composite

extends

component

@override

public

void

remove(component component)

}

組合模式的關鍵是定義了乙個抽象構件類,它既可以代表葉子,又可以代表容器,而客戶端針對該抽象構件類進行程式設計,無須知道它到底表示的是葉子還是容器,可以對其進行統一處理。同時容器物件與抽象構件類之間還建立乙個聚合關聯關係,在容器物件中既可以包含葉子,也可以包含容器,以此實現遞迴組合,形成乙個樹形結構。

如果不使用組合模式,客戶端**將過多地依賴於容器物件複雜的內部實現結構,容器物件內部實現結構的變化將引起客戶**的頻繁變化,帶來了**維護複雜、可擴充套件性差等弊端。組合模式的引入將在一定程度上解決這些問題。

組合模式 設計模式 組合模式

1.需求分析 假設要給乙個大公司做辦公管理系統,公司有人力資源部 財務部等,然後公司在其他城市還有分公司,分公司也有自己的人力資源部 財務部等,要求總公司 分公司以及各部分成樹狀結構管理。要完成這麼乙個系統,為了有乙個更好的設計,方便開發的展開,就需要了解乙個設計模式 組合模式。2.定義 將物件組合...

設計模式 組合模式 組合模式使用

目錄 組合模式概括 組合模式使用場景 定義 將物件組合成樹形結構以表示 部分 整體 的層次結構 作用 使客戶端對單個物件和組合物件保持一致的處理方式 使用場景 1.希望客戶端可以忽略組合物件與單個物件的差異時 2.處理乙個樹形結構時 優點 清楚的定義分層次的複雜物件,表示物件的全部或部分層次 讓客戶...

設計模式 組合設計模式

組合模式 composite pattern 又稱部分整體模式,用於把一組相似的物件當做乙個單一的物件,組合模式依據樹形來組合物件,用來表示部分以及整體層次,為結構型設計模式,它建立來物件組的樹形結構。意圖 將物件組合成樹形結構以表示 部分 整體 的結構層次,組合模式使得使用者對單個物件和組合物件的...