/*
建造者模式:将一个复杂对象的构建与它的表示分离,
使得同样的构建过程可以创建不同的表示
*/
#include <iostream>
using namespace std;
class Builder
{
public:
virtual void BulidPartOne()
{}
virtual void BuildPartTwo()
{}
};
class ConcreteBuilder1:public Builder
{
public:
void BulidPartOne()
{
cout<<"Product One:Build Part One..."<<endl;
}
void BuildPartTwo()
{
cout<<"Product One:Build Part Two..."<<endl;
}
};
class ConcreteBuilder2:public Builder
{
public:
void BulidPartOne()
{
cout<<"Product Two:Build Part One..."<<endl;
}
void BuildPartTwo()
{
cout<<"Product Two:Build Part One..."<<endl;
}
};
class Director
{
public:
void Construct(Builder *builder)
{
builder->BulidPartOne();
builder->BuildPartTwo();
}
};
int main()
{
ConcreteBuilder1 *builder1 = new ConcreteBuilder1();
ConcreteBuilder2 *builder2 = new ConcreteBuilder2();
Director *director = new Director();
director->Construct(builder1);
director->Construct(builder2);
delete builder1;
delete builder2;
delete director;
system("pause");
return 0;
}
C++实现建造者模式
最新推荐文章于 2025-02-20 19:36:02 发布