大話設計模式10 組合模式 2020 9 24

2021-10-09 18:09:59 字數 1387 閱讀 1944

組合模式:將物件組合成樹形結構來表示「部分-整體」的關係,組合模式使得單個物件和組合物件使用具有一致性。uml類圖如下:

實現乙個公司的辦公管理系統,父公司下面可能既有子部門也有子公司。uml類圖如下:

c++**實現如下:

#include

#include

#include

#include

using

namespace std;

//10.組合模式:辦公管理系統

class

component

;virtual

~component()

string getname()

virtual

void

addcomponent

(component* ipcom)=0

;virtual component*

removecomponent

(const string &istrname)=0

;virtual

void

display

(int depth)=0

;protected

: string m_strname;};

class

concretecomponent

:public component

void

addcomponent

(component* ipcom) override

component*

removecomponent

(const string &istrname)override }

return pcom;

}void

display

(int depth) override }

private

: list

>m_coms;};

class

leafcomponent

:public component

;void

addcomponent

(component* ipcom)

component *

removecomponent

(const string &istrname)

void

display

(int depth)};

intmain()

大話設計模式19 組合模式

概念 將物件組合成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。如 word文件中對文字的處理,即可以處理單個字又可以處理多個字 甚至是對整個文件的處理 再比如說總公司和各個分公司在職務功能都類似,但是子公司包含於總公司之中,如下圖的結構 compo...

設計模式(10) 組合模式

什麼是組合模式?組合模式是一種結構型模式,把多個物件組合為乙個整體,類似於在公司中,每個人都是員工,但是員工有上下級的關係,整個級別組合一起為公司整體,組合模式是一種簡單的設計模式 如何實現?public class employee public void add employee e publi...

10組合模式

組合模式 設計模式其實很簡單 筆記 定義 將物件組成樹形結構以表示 部分 整體 的層次結構。組合模式使得使用者對單個物件和組合物件的使用具有一致性。理解 樹和子樹,即整體與部分。在樹形結構中,部分和整體有著類似或相同的結構,所以可以將部分和 整體一致對待 樹中分支節點與葉子節點的抽象父類 publi...