欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

作用

建造者模式是將一個復雜對象和他的構造和組裝過程分離,這樣再重復創(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;
  };
  //構造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();
    }
  };
  
  //調(diào)用
  int main()
  {
    NoteBookBuilder thin;
    Director director(&thin);
    director.Create();
    return 0;
  }

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

相關文章

  • C語言全面細致講解文件操作

    C語言全面細致講解文件操作

    這篇文章主要為大家詳細介紹了C語言的文件操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-05-05
  • protobuf c++編程筆記

    protobuf c++編程筆記

    這篇文章主要介紹了Protobuf的c++編程筆記,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-08-08
  • Qt自定義表頭實現(xiàn)過濾功能的方法

    Qt自定義表頭實現(xiàn)過濾功能的方法

    這篇文章主要個給大家介紹了關于Qt自定義表頭實現(xiàn)過濾功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Qt具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • c語言處理函數(shù)調(diào)用的方法

    c語言處理函數(shù)調(diào)用的方法

    函數(shù)就是一段封裝好的,可以重復使用的代碼,它使得我們的程序更加模塊化,不需要編寫大量重復的代碼。這篇文章主要介紹了c語言是如何處理函數(shù)調(diào)用的?需要的朋友可以參考下
    2021-11-11
  • c++如何實現(xiàn)跳表(skiplist)

    c++如何實現(xiàn)跳表(skiplist)

    這篇文章主要介紹了c++如何實現(xiàn)跳表,幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-08-08
  • C++實現(xiàn)LeetCode(648.替換單詞)

    C++實現(xiàn)LeetCode(648.替換單詞)

    這篇文章主要介紹了C++實現(xiàn)LeetCode(648.替換單詞),本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • 通過c++11改進我們的模式之改進命令模式

    通過c++11改進我們的模式之改進命令模式

    這篇我要講的是如何使用c++11改進命令模式,感興趣的朋友可以看下
    2013-11-11
  • 利用C語言替換文件中某一行的方法

    利用C語言替換文件中某一行的方法

    大家都知道C語言提供了文件操作,但是替換文件的某一行比較麻煩,下面是我使用的一個方法,現(xiàn)在分享給大家,有需要的朋友們可以參考借鑒。
    2016-09-09
  • C語言實現(xiàn)循環(huán)隊列

    C語言實現(xiàn)循環(huán)隊列

    這篇文章主要為大家詳細介紹了C語言實現(xiàn)循環(huán)隊列,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • map插入自定義對象總結

    map插入自定義對象總結

    黑樹在插入節(jié)點時,必須依照大小比對之后在一個合適的位置上執(zhí)行插入動作。所以作為關鍵字,起碼必須有“<”這個比較操作符
    2013-09-09

最新評論