1 概念
builder模式也叫建造者模式或者生成器模式,是由gof提出的23種設計模式中的一種。builder模式是一種物件建立型模式之一,用來隱藏復合物件的建立過程,
它把復合物件的建立過程加以抽象,通過子類繼承和過載的方式,動態地建立具有復合屬性的物件。
builder模式是為物件的建立而設計的模式
2 建立者模式和工廠模式的區別
1 factory模式不考慮物件的組裝過程,而直接生成乙個我想要的物件。
2 builder模式先乙個個的建立物件的每乙個部件,再統一組裝成乙個物件。
3 factory模式所解決的問題是,工廠生產產品。
4 builder模式所解決的問題是工廠控制產品生成器組裝各個部件的過程,然後從產品生成器中得到產品。
#include using namespace std;
#include "string"
class house
void setwall(string wall)
void setwindow(string window)
//--
string getdoor( )
string getwall()
string getwindow()
private:
string m_door;
string m_wall;
string m_window;
};class builder
;//公寓工程隊
class flatbuilder : public builder
virtual void buildwall()
virtual void builddoor()
virtual void buildwindow()
virtual house* gethouse()
private:
house *m_house;
};//別墅 villa 工程隊
class villabuilder : public builder
virtual void buildwall()
virtual void builddoor()
virtual void buildwindow()
virtual house* gethouse()
private:
house *m_house;
};//設計師(指揮者) 負責建造邏輯
//建築隊 幹具體的活
class director
void construct()
private:
builder * m_build;
};void main()
建立型設計模式 建造模式
program ade someproblem author cade franklin create 2019 12 22 22 20 public inte ce housebuilder 別墅 program ade someproblem author cade franklin creat...
設計模式之建造模式
建造模式是物件的建立模式。建造模式可以將產品的內部表象與產品的生成過程分割開來,從而可以使乙個建造過程生成具有不同的內部表象的產品物件。上古時期女媧造人,首先要新建乙個人的類,但是女媧不只可以造人,它可以創造萬物,所以,這裡定義乙個標識介面叫product 產品 public inte ce pro...
建立型設計模式之建造者模式
建造者模式 主要用於將產品修飾的這部分內容抽象化,提供給外部乙個自由定製的修飾渠道,達到自由切換修飾規則但是不用修改舊 的效果。帶有抽象介面的建造者模式主要涉及的物件有 引導者 decorate 產品 抽象建造者介面 builder 定製化的builder。打個比方,我開著一輛拖拉機去石料場運載建築...