// 把建造不同型別房子的過程與客戶端呼叫分類
#include using namespace std;
/* * 建造者模式
* 物件的建立和物件的表示分離
* */
class house
void setwall(string wall)
void setdoor(string door)
void show()
private:
string m_floor;
string m_wall;
string m_door;
};class builder
virtual void makefloor() = 0;
virtual void makewall() = 0;
virtual void makedoor() = 0;
virtual house* gethouse() = 0;
};class flatbuilder : public builder
virtual ~flatbuilder()
} void makefloor()
void makewall()
void makedoor()
house* gethouse()
private:
house* m_house;
};class villabuilder : public builder
virtual ~villabuilder()
} void makefloor()
void makewall()
void makedoor()
house* gethouse()
private:
house* m_house;
};class director
house* construct()
private:
builder* m_builder;
};int main()
設計原則
建立模式(5種)
結構模式(7種)
行為模式(11種)
設計模式之建立者模式 c 實現
建立者設計模式屬於 建立型設計模式的一種。建立者設計模式主要用於複雜物件的建立,這些物件的建立步驟和組合方式基本固定,但是可能具體的物件的組成部分卻又可以自由的變化。建立者設計模式通過封裝來隔離組成複雜物件的各個組成部分的變化。從而可以應對各種各樣的需求。建立者模式的類圖如下 舉例來說 kfc的 為...
設計模式 建立者模式
建造者模式屬於建立型模式 基本原理 有底到高一層層的建立疊加,上層是依靠底層的建立。就如細胞組 體不同的組織,組織組成了不同的人。主要流程 1.建立最基本的單元 2.建立所要建造的物品,使用基本單元建立該物品的元素 3.使用物品建立完整的結構 include include using namesp...
設計模式 建立者模式
建立者模式又叫建造者模式,是將乙個複雜的物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。建立者模式隱藏了複雜物件的建立過程,它把複雜物件的建立過程加以抽象,通過子類繼承或者過載的方式,動態的建立具有復合屬性的物件。建立者模式通常包括如下幾種角色 1.建造者角色 builder 對複雜...