gpt4 book ai didi

C++设计模式之建造者模式(Builder)

转载 作者:qq735679552 更新时间:2022-09-28 22:32:09 25 4
gpt4 key购买 nike

CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.

这篇CFSDN的博客文章C++设计模式之建造者模式(Builder)由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.

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

作用 。

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

类视图 。

C++设计模式之建造者模式(Builder)

代码实现 。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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;
   }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.

原文链接:http://www.cnblogs.com/chencarl/p/8639169.html 。

最后此篇关于C++设计模式之建造者模式(Builder)的文章就讲到这里了,如果你想了解更多关于C++设计模式之建造者模式(Builder)的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com