美文网首页设计模式C++实现笔记
Builder对象-创建型模式

Builder对象-创建型模式

作者: lixin_karl | 来源:发表于2018-11-03 15:32 被阅读0次

    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. 构造过程可以有更加精细的控制

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

    相关文章

      网友评论

        本文标题:Builder对象-创建型模式

        本文链接:https://www.haomeiwen.com/subject/svbkxqtx.html