使用场景:当需要创建的实例非常复杂时,需要先创建每一个小部分,然后在组装起来
理解:区别于模板方法模式,核心方法一个是在父类中,一个是在另一个监管类中,本质类似
class Builder
{
public:
virtual void head() = 0;
virtual void body() = 0;
virtual void tail() = 0;
};
class Director
{
Builder* builder;
public:
Director(Builder* builder)
{
this->builder = builder;
}
void construct() //核心方法
//先构造每一个小部分,然后组装
{
builder->head();
builder->body();
builder->tail();
}
};
class TestBuilder: public Builder
{
public:
void head()
{
cout << "*******************" << endl;
}
void body()
{
cout << " Body Body Body" << endl;
}
void tail()
{
cout << "+++++++++++++++++++" << endl;
}
};
int main()
{
Builder* pBuilder = new TestBuilder();
Director d(pBuilder);
d.construct();
return 0;
}
本文介绍了建造者模式的应用场景及其实现方式,通过示例代码详细解释了如何通过建造者模式来构建复杂对象的过程。
752

被折叠的 条评论
为什么被折叠?



