您当前的位置: 首页 >  令狐掌门 c++

C++ 建造者模式

令狐掌门 发布时间:2020-11-08 23:57:09 ,浏览量:1

建造者模式,又称为builder模式。

定义:

将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建不同的表示 。

使用场景:

当一个类的构造函数参数个数超过4个,而且这些参数有些是可选的参数,考虑使用构造者模式。

使用建造者模式有什么好处:

建造者模式的好处就是使得建造代码与表示代码分离,由于建造者隐藏了 该产品是如何组装的,所以若需要改变一个产品的内部表示,只需要再定义一个具体的建造者就可以了。

 

代码实现:

#include
#include
#include

using namespace std;

class Product{
private:
    vector  parts;

public:
    void Add(string part){
        parts.push_back(part);
    }

    void Show(){
        cout Add("part Y");
    }

    Product* GetResult(){
        return product;
    }
};

class Director
{
public:
    void Construct(Builder* builder){
        builder->BuildPartA();
        builder->BuildPartB();
    }
};

//Client,客户不知道具体的建造过程。
int main()
{
    Director* director = new Director();

    Builder* builder1 = new ConcreteBulider1();
    Builder* builder2 = new ConcreteBulider2();

    cout GetResult();
    p1->Show();
    cout Show();
    cout             
关注
打赏
1688896170
查看更多评论
0.0835s