国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++設計模式之建造者模式(Builder)

2020-05-23 13:34:44
字體:
來源:轉載
供稿:網友

建造者模式與工廠模式最大的區別在與建造者模式更注重的是創建的一系列過程,如流水化作業,工廠模式強調的是區分不同的工廠和產品,而建造者模式更注重的統一不同產品在流水線上的工序,達到統一作業。

作用

建造者模式是將一個復雜對象和他的構造和組裝過程分離,這樣再重復創建不同對象時使用相同的流程進行建造。對于調用者來說,只需要知道產品的類型,而不需要知道具體的組裝過程。

類視圖

C++,設計模式,建造者模式

代碼實現

class Builder  {  public:    virtual void SelectCpu()= 0;    virtual void SelectMatherboard() = 0;    virtual void SelectMem() = 0;    virtual void SelectDisk() = 0;    virtual void SelectPower() = 0;    virtual void SelectShell() = 0;  };  //構造PC  class PCBuilder : public Builder  {  public:    void SelectCpu()     { cout<<"Select PC Cpu"<<endl; }    void SelectMatherboard() { cout<<"Select PC Matherboard"<<endl; }    void SelectMem()     { cout<<"Select PC Mem"<<endl; }    void SelectDisk()    { cout<<"Select PC Disk"<<endl; }    void SelectPower()    { cout<<"Select PC Power"<<endl; }    void SelectShell()    { cout<<"Select PC Shell"<<endl; }  };  //構造Notebook  class NoteBookBuilder : public Builder  {  public:    void SelectCpu()     { cout<<"Select NoteBook Cpu"<<endl; }    void SelectMatherboard() { cout<<"Select NoteBook Matherboard"<<endl; }    void SelectMem()     { cout<<"Select NoteBook Mem"<<endl; }    void SelectDisk()    { cout<<"Select NoteBook Disk"<<endl; }    void SelectPower()    { cout<<"Select NoteBook Power"<<endl; }    void SelectShell()    { cout<<"Select NoteBook Shell"<<endl; }  };  //構造的指揮官  class Director  {  private:    Builder *m_pBuilder;  public:    Director(Builder *builder) { m_pBuilder = builder; }    void Create(){    m_pBuilder->SelectCpu();    m_pBuilder->SelectMatherboard();    m_pBuilder->SelectMem();    m_pBuilder->SelectDisk();    m_pBuilder->SelectPower();    m_pBuilder->SelectShell();    }  };    //調用  int main()  {    NoteBookBuilder thin;    Director director(&thin);    director.Create();    return 0;  }

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 金堂县| 定日县| 贞丰县| 龙泉市| 阳新县| 宁陕县| 盐城市| 兴隆县| 颍上县| 开阳县| 洛隆县| 东明县| 红原县| 岑溪市| 辽中县| 克拉玛依市| 江油市| 佛山市| 和林格尔县| 卓尼县| 三门峡市| 西乌| 临高县| 乌鲁木齐县| 光山县| 千阳县| 金堂县| 蓬溪县| 环江| 堆龙德庆县| 永春县| 罗定市| 龙里县| 宣化县| 海宁市| 雅安市| 嘉义市| 安图县| 万年县| 潜山县| 鄂伦春自治旗|