設計模式之組合模式

2021-09-25 06:53:45 字數 1068 閱讀 3814

簡介:組合模式(composite pattern),又叫部分整體模式,是用於把一組相似的物件當作乙個單一的物件。組合模式依據樹形結構來組合物件,用來表示部分以及整體層次。這種型別的設計模式屬於結構型模式,它建立了物件組的樹形結構。

這種模式建立了乙個包含自己物件組的類。該類提供了修改相同物件組的方式。

優點:1、高層模組呼叫簡單。 2、節點自由增加。

缺點:在使用組合模式時,其葉子和樹枝的宣告都是實現類,而不是介面,違反了依賴倒置原則。

概要設計:我們有乙個類 employee,該類被當作組合模型類。compositepatterndemo,我們的演示類使用 employee 類來新增部門層次結構,並列印所有員工。

步驟 1

建立 employee 類,該類帶有 employee 物件的列表。

public

class

employee

public

void

add(employee e)

public

void

remove

(employee e)

public list

getsubordinates()

@override

public string tostring()

}

步驟 2

使用 employee 類來建立和列印員工的層次結構。

public

class

compositepatterndemo}}

}

結果

設計模式之組合模式

組合模式 以 整體 部分 的層次結構,將物件以樹型結構組合起來。如下圖所示 組合模式首先得定義乙個用來管理和訪問部件們的抽象類。public abstract class equipment 再建立乙個組合體的部件 class element equipment 現在我們再來定義乙個組合體,也就是組...

設計模式之 組合模式

有時候我們需要維護一些物件,這些物件具有一定的層次結構,它們之間雖然差異很大,但在使用的時候我們希望能構一致的對待,比如windows控制項,繪圖中的圖形等,這個時候我們就可以採用組合模式來進行管理。組合模式就是將要管理的物件按樹型結構來進行組織,表示成一種 整體 部分 的層次結構,使得使用者對單個...

設計模式之組合模式

組合模式 將物件組合成樹形結構以表示 部分 整體 的層次結構。使得使用者對單個物件和組合物件的使用具有一致性。適用性 想表示物件的部分 整體層次結構,希望使用者忽略組合物件與單個物件的不同,使用者將統一地使用組合結構中的所有物件。典型表示結構圖 宣告組合中的物件宣告介面 在適當的情況下,實現所有類共...