您的位置:首页 > 编程语言 > C语言/C++

C++实现建造者模式

2012-11-06 19:49 337 查看
/*
建造者模式:将一个复杂对象的构建与它的表示分离,
使得同样的构建过程可以创建不同的表示
*/

#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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: