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

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

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

2020-01-26 13:44:11
字體:
來源:轉載
供稿:網友

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

作用

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

類視圖

代碼實現

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;  }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 五台县| 灵璧县| 汉源县| 东山县| 峨眉山市| 万荣县| 华容县| 大同市| 姚安县| 辽源市| 都昌县| 宁津县| 兴山县| 茶陵县| 宜丰县| 湘西| 含山县| 大宁县| 平阴县| 方正县| 航空| 包头市| 钦州市| 额济纳旗| 洪雅县| 呼伦贝尔市| 临泉县| 武隆县| 徐州市| 平和县| 神农架林区| 桃江县| 衡南县| 卢湾区| 龙里县| 舞钢市| 商洛市| 呼和浩特市| 贵溪市| 安义县| 安义县|