您好,登錄后才能下訂單哦!
今天小編給大家分享一下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++設計模式之建造者模式怎么實現”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。