最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2021年09月14日 10:47:31   作者:返回主頁 chencarl  
這篇文章主要介紹了C++設(shè)計模式之建造者模式Builder的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下

建造者模式與工廠模式最大的區(qū)別在與建造者模式更注重的是創(chuàng)建的一系列過程,如流水化作業(yè),工廠模式強調(diào)的是區(qū)分不同的工廠和產(chǎn)品,而建造者模式更注重的統(tǒng)一不同產(chǎn)品在流水線上的工序,達到統(tǒng)一作業(yè)。

作用

建造者模式是將一個復(fù)雜對象和他的構(gòu)造和組裝過程分離,這樣再重復(fù)創(chuàng)建不同對象時使用相同的流程進行建造。對于調(diào)用者來說,只需要知道產(chǎn)品的類型,而不需要知道具體的組裝過程。

類視圖

代碼實現(xiàn)

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;
  };
  //構(gòu)造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; }
  };
  //構(gòu)造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; }
  };
  //構(gòu)造的指揮官
  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();
    }
  };
  
  //調(diào)用
  int main()
  {
    NoteBookBuilder thin;
    Director director(&thin);
    director.Create();
    return 0;
  }

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • C語言實現(xiàn)航空訂票系統(tǒng)課程設(shè)計

    C語言實現(xiàn)航空訂票系統(tǒng)課程設(shè)計

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)航空訂票系統(tǒng)課程設(shè)計,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • C語言編程實現(xiàn)掃雷游戲

    C語言編程實現(xiàn)掃雷游戲

    這篇文章主要為大家詳細介紹了C語言編程實現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • VSCode插件開發(fā)全攻略之命令、菜單、快捷鍵

    VSCode插件開發(fā)全攻略之命令、菜單、快捷鍵

    這篇文章主要介紹了VSCode插件開發(fā)全攻略之命令、菜單、快捷鍵,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • C++11互斥量的具體使用

    C++11互斥量的具體使用

    互斥量是一種同步原語,是一種線程同步的手段,用來保護多線程同時訪問的共享數(shù)據(jù),本文主要介紹了C++11互斥量的具體使用,感興趣的可以了解一下
    2023-11-11
  • C++?多線程編程pthread的基本使用詳解

    C++?多線程編程pthread的基本使用詳解

    在C++開發(fā)中,原生的線程庫主要有兩個,一個是C++11提供的<thread>(std::thread類),另一個是Linux下的<pthread.h>(p_thread類),本文主要介紹pthread的基本使用方式,需要的朋友可以參考下
    2024-05-05
  • C語言實現(xiàn)的階乘,排列和組合實例

    C語言實現(xiàn)的階乘,排列和組合實例

    這篇文章主要介紹了C語言實現(xiàn)的階乘,排列和組合的方法,涉及C語言數(shù)學(xué)運算的相關(guān)技巧,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-07-07
  • C++日期類計算器的模擬實現(xiàn)舉例詳解

    C++日期類計算器的模擬實現(xiàn)舉例詳解

    兩個日期之間相隔天數(shù)的計算網(wǎng)上有許多的軟件,這里主要介紹如何使用C/C++語言來完成這樣的功能,下面這篇文章主要給大家介紹了關(guān)于C++日期類計算器的模擬實現(xiàn),需要的朋友可以參考下
    2023-04-04
  • Opencv實現(xiàn)視頻播放與進度控制

    Opencv實現(xiàn)視頻播放與進度控制

    這篇文章主要為大家詳細介紹了Opencv實現(xiàn)視頻播放與進度控制,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • C++的數(shù)據(jù)共享與保護你了解嗎

    C++的數(shù)據(jù)共享與保護你了解嗎

    這篇文章主要為大家詳細介紹了C語言零基礎(chǔ)入門的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲

    C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲

    這篇文章主要為大家詳細介紹了C語言數(shù)組應(yīng)用實現(xiàn)三子棋游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-06-06

最新評論

潼关县| 仁怀市| 新泰市| 朝阳区| 定远县| 双辽市| 云霄县| 霍邱县| 禹州市| 望江县| 永定县| 新乡县| 辽中县| 东源县| 扎囊县| 陇南市| 浮山县| 炉霍县| 城市| 平和县| 台江县| 红原县| 富宁县| 南木林县| 肇庆市| 象州县| 安多县| 察雅县| 凤冈县| 咸阳市| 尖扎县| 佛山市| 天峨县| 鹿邑县| 鹤庆县| 赣榆县| 内江市| 文安县| 霞浦县| 东莞市| 贵南县|