创建型设计模式共5种:工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。
建造者模式:适用于复杂对象的构建,可以将其一步一步的构造出来,能够更精细的控制构建过程(每一步都可以控制)。
从上述UML图可以看出,抽象Builder聚合在Direactor类中,通过多态将RealBuilderA或RealBuilderB赋值给Builder。其中,RealBuilderA和RealBuilderB中构建对象的实现方法不同。
//建造者模式示例代码
#include<iostream>
using namespace std;
class Builder
{
public:
virtual void buildHead() = 0;
virtual void buildBody() = 0;
virtual void buildArm() = 0;
virtual void buildLeg() = 0;
};
class ThinBuilder :public Builder
{
public:
void buildHead()
{
cout << "Build Thin Head!" << endl;
}
void buildBody()
{
cout << "Build Thin Body!"