中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++設計模式之建造者模式怎么實現

發布時間:2022-04-15 10:43:49 來源:億速云 閱讀:172 作者:iii 欄目:編程語言

今天小編給大家分享一下C++設計模式之建造者模式怎么實現的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

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

作用

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

類視圖

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

以上就是“C++設計模式之建造者模式怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

堆龙德庆县| 丰都县| 垣曲县| 阳新县| 将乐县| 玛沁县| 海伦市| 从江县| 临颍县| 苏尼特右旗| 墨玉县| 宁国市| 罗定市| 广汉市| 扶风县| 南部县| 珠海市| 交口县| 光山县| 泰和县| 彝良县| 开江县| 沿河| 盐池县| 科尔| 华坪县| 浏阳市| 昂仁县| 临夏县| 繁昌县| 三都| 大田县| 莎车县| 武义县| 和政县| 石狮市| 河北区| 宁都县| 平遥县| 阳江市| 延安市|