设计模式C++实现笔记

Builder对象-创建型模式

2018-11-03  本文已影响0人  lixin_karl

Builder对象创建型模式,主要目的就是将一个复杂对象的构建与它的表示分离。

//产品类 产品的抽象类

```

class Product{

public:

    void doSome(){}

};

```

//抽象类,规范产品的组件,有子类具体实现

```

class Builder{

public:

    virtual void builderA()= 0;

   virtual Product buildProduct()= 0;

};

```

//具体实现类

```

class ConcreteBuilder : public Builder{

public:

    Product buildProduct()override {

        return *product;

}

void builderA() override {

}

private:

    Product *product = new Product();

};

```

//指挥者 统一组装过程

```

class Director{

private:

    Builder *builder = new ConcreteBuilder();

public:

    Product getProduct(){

            builder->builderA();

            return builder->buildProduct();

}

};

```

用户调用的过程

```

int main(){

    ConcreteBuilder *getBuiler= new ConcreteBuilder();

    Director director(getBuiler);

    Product product = director.getProduct();

};

```

使用效果:

    1. 改变产品的内部表示

    2. 将构造代码与表示代码分离

    3. 构造过程可以有更加精细的控制

来源:《设计模式:可复用面向对象软件的基础》

上一篇 下一篇

猜你喜欢

热点阅读