組合模式:將物件組合成樹形結構來表示「部分-整體」的關係,組合模式使得單個物件和組合物件使用具有一致性。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...