建造者模式,又称为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
关注
打赏