C++设计模式之建造者模式怎么实现(C++,编程语言)

时间:2024-03-29 03:17:48 作者 : 石家庄SEO 分类 : 编程语言
  • TAG :

建造者模式与工厂模式最大的区别在与建造者模式更注重的是创建的一系列过程,如流水化作业,工厂模式强调的是区分不同的工厂和产品,而建造者模式更注重的统一不同产品在流水线上的工序,达到统一作业。

作用

建造者模式是将一个复杂对象和他的构造和组装过程分离,这样再重复创建不同对象时使用相同的流程进行建造。对于调用者来说,只需要知道产品的类型,而不需要知道具体的组装过程。

类视图

C++设计模式之建造者模式怎么实现

代码实现

classBuilder{public:virtualvoidSelectCpu()=0;virtualvoidSelectMatherboard()=0;virtualvoidSelectMem()=0;virtualvoidSelectDisk()=0;virtualvoidSelectPower()=0;virtualvoidSelectShell()=0;};//构造PCclassPCBuilder:publicBuilder{public:voidSelectCpu(){cout<<"SelectPCCpu"<<endl;}voidSelectMatherboard(){cout<<"SelectPCMatherboard"<<endl;}voidSelectMem(){cout<<"SelectPCMem"<<endl;}voidSelectDisk(){cout<<"SelectPCDisk"<<endl;}voidSelectPower(){cout<<"SelectPCPower"<<endl;}voidSelectShell(){cout<<"SelectPCShell"<<endl;}};//构造NotebookclassNoteBookBuilder:publicBuilder{public:voidSelectCpu(){cout<<"SelectNoteBookCpu"<<endl;}voidSelectMatherboard(){cout<<"SelectNoteBookMatherboard"<<endl;}voidSelectMem(){cout<<"SelectNoteBookMem"<<endl;}voidSelectDisk(){cout<<"SelectNoteBookDisk"<<endl;}voidSelectPower(){cout<<"SelectNoteBookPower"<<endl;}voidSelectShell(){cout<<"SelectNoteBookShell"<<endl;}};//构造的指挥官classDirector{private:Builder*m_pBuilder;public:Director(Builder*builder){m_pBuilder=builder;}voidCreate(){m_pBuilder->SelectCpu();m_pBuilder->SelectMatherboard();m_pBuilder->SelectMem();m_pBuilder->SelectDisk();m_pBuilder->SelectPower();m_pBuilder->SelectShell();}};//调用intmain(){NoteBookBuilderthin;Directordirector(&thin);director.Create();return0;}
 </div> <div class="zixun-tj-product adv-bottom"></div> </div> </div> <div class="prve-next-news">
本文:C++设计模式之建造者模式怎么实现的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:C++中如何实现多态性与虚函数下一篇:

7 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18