C++实现建造者模式

来源:互联网 发布:nba2kol王朝软件 编辑:程序博客网 时间:2024/05/18 06:39
/*建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示*/#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;}