設計模式學習 七 建造者模式

2021-06-29 13:22:13 字數 838 閱讀 7830

將乙個複雜物件的構造與它的表示分離,使同樣的構建過程可以建立不同的表示,這樣的設計模式被稱為建造者模式。

**

#include 

using namespace std;

class product

void setpartb(int y)

void setpartc(int z)

private:

int a,b,c;

};class builder;

class buildera:public builder

void buildparta()

void buildpartb()

void buildpartc()

product * getpro()

private:

product * p;

};class builderb:public builder

void buildparta()

void buildpartb()

void buildpartc()

product * getpro()

private:

product * p;

};class direct

void create()

private:

builder *b;

};

使用方法

int main()
結果

a:1 b:2 c:3

a:100 b:200 c:300

設計模式學習(七)建造者模式

建造者模式 builder pattern 使用多個簡單的物件一步一步構建成乙個複雜的物件。這種型別的設計模式屬於建立型模式,它提供了一種建立物件的最佳方式。該類圖還是沿用咱們之前的車的場景來做說明,從圖中可以看出,建造者模式很像是抽象模式的拓展。首先我們先建立了乙個抽象方法,抽象方法裡包含了sta...

學習設計模式 建造者模式

說明 如果你需要將乙個複雜的物件或功能的構建流程和表示分離,使得同樣的構建流程,也可以建立出不同的表示,例如麥當勞做炸東西,炸東西的流程是一樣的,但放入的材料不同,炸出來的東西不一樣 例如雞排 雞腿 雞翅等 需求 使用者要個炸雞腿 解決方式 a.定義乙個產品類 炸東西 b.定義乙個構建產品部分或過程...

設計模式學習 建造者模式

建造者模式主要用於分離物件的建立和配置。呼叫元件負責提供資料。並負責將配置資料傳遞給建造者。建造者代替呼叫元件去建立響應的物件。好處 何時使用 示例程式 新建乙個名為builder的 osx命令列程式 實現如下 class burger let customername string let veg...