国产探花免费观看_亚洲丰满少妇自慰呻吟_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;  }

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 台前县| 贵阳市| 庆安县| 江山市| 高尔夫| 澄城县| 宜都市| 昌黎县| 抚远县| 新建县| 石门县| 大邑县| 昂仁县| 通海县| 镇康县| 定远县| 化州市| 宜都市| 宁海县| 平谷区| 名山县| 长海县| 临夏县| 遂溪县| 河池市| 密云县| 宕昌县| 甘肃省| 且末县| 苏尼特左旗| 阿瓦提县| 峨边| 元江| 江陵县| 东山县| 榆社县| 慈溪市| 榆社县| 榆社县| 南投县| 巴林左旗|