构建与实现(样式、表示)分离,一个构建逻辑对应不同的实现(样式、表示)。
代码示例:
class Builder
{
public:
virtual void buildePartA(){}
virtual void buildePartB(){}
virtual void buildePartC(){}
};
class Product1 : public Builder
{
public:
virtual void buildePartA()
{cout << "build part A of the Product1" << endl;}
virtual void buildePartB()
{cout << "build part B of the Product1" << endl;}
virtual void buildePartC()
{cout << "build part C of the Product1" << endl;}
}
class Product2: public Builder
{
public:
virtual void buildePartA()
{cout << "build part A of the Product2" << endl;}
virtual void buildePartB()
{cout << "build part B of the Product2" << endl;}
virtual void buildePartC()
{cout << "build part C of the Product2" << endl;}
}