设计模式[20]-Builder

简介:

Type: Creational

Builder: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。是为了将构建复杂对象的过程和它的部件解耦。Builder负责构建部件,Director负责处理构建的过程。

#include <iostream>
using namespace std;

class Part{};

class Product
{
public:
    Product(Part* pPartA, Part* pPartB, Part* pPartC){};
};

class Builder
{
public:
    virtual void buildPartA()=0;
    virtual void buildPartB()=0;
    virtual void buildPartC()=0;
};

class ConcreteBuilder: public Builder
{
public:
    void buildPartA()
    {
        cout<<"Build Part A"<<endl;
        mPartA = new Part;
    };
    void buildPartB()
    {
        cout<<"Build Part B"<<endl;
        mPartB = new Part;
    };
    void buildPartC()
    {
        cout<<"Build Part C"<<endl;
        mPartC = new Part;
    };
    Product* getResult()
    {
        cout<<"Get Result"<<endl;
        return new Product(mPartA, mPartB, mPartC);
    };
private:
    Part *mPartA, *mPartB, *mPartC;
};

class Director
{
public:
    Director(Builder* pBuilder):m_pBuilder(pBuilder){};
    void construct()
    {
        cout<<"Director construct"<<endl;
        m_pBuilder->buildPartA();
        m_pBuilder->buildPartB();
        m_pBuilder->buildPartC();
    };
private:
    Builder* m_pBuilder;
};

int main()
{
    ConcreteBuilder* pBuilder = new ConcreteBuilder;
    Director *pDirector = new Director(pBuilder);
    pDirector->construct();
    pBuilder->getResult();

    system("pause");

    return 0;
}

目录
相关文章
|
5月前
|
设计模式 安全 Java
构建未来应用:Java设计模式 - 建造者模式(Builder)在现代编程中的应用
【4月更文挑战第7天】建造者模式是提升代码质量的关键,尤其在复杂环境中。它分步骤构建对象,将构建与表示分离,适用于UI构建、数据模型组装、配置文件解析和网络请求构造等场景。最佳实践包括明确构建步骤、提供默认值、支持链式调用和确保线程安全。然而,过多步骤、不一致状态和性能问题是使用时需注意的问题。掌握建造者模式对于现代编程至关重要。
75 3
|
12月前
|
设计模式 算法
设计模式10 - 建造者模式【Builder Pattern】
设计模式10 - 建造者模式【Builder Pattern】
27 0
|
11月前
|
设计模式 缓存 Java
认真学习设计模式之建造者模式(Builder Pattern)
认真学习设计模式之建造者模式(Builder Pattern)
94 1
|
13天前
|
设计模式 算法
设计模式--建造者模式 builder
这篇文章通过一个电脑购买的例子,详细解释了建造者模式的四个角色(产品类、抽象构建者、实体构建类和指导者类),并提供了相应的代码实现,阐述了建造者模式在设计复杂对象时的应用和优势。
设计模式--建造者模式 builder
|
12月前
|
设计模式 缓存 Java
【设计模式——学习笔记】23种设计模式——建造者模式Builder(原理讲解+应用场景介绍+案例介绍+Java代码实现)
【设计模式——学习笔记】23种设计模式——建造者模式Builder(原理讲解+应用场景介绍+案例介绍+Java代码实现)
116 0
|
5月前
|
设计模式 算法 Java
【设计模式】JAVA Design Patterns——Builder(构造器模式)
【设计模式】JAVA Design Patterns——Builder(构造器模式)
|
4月前
|
设计模式
设计模式-05建造者模式(Builder Pattern)
设计模式-05建造者模式(Builder Pattern)
|
4月前
|
设计模式 算法 索引
程序技术好文:设计模式之美:Builder(生成器)
程序技术好文:设计模式之美:Builder(生成器)
|
设计模式 算法 定位技术
【3W2H设计模式】-建造者模式(Builder Pattern)
【3W2H设计模式】-建造者模式(Builder Pattern)
166 0
|
设计模式 算法 Java
Java设计模式-建造者模式(Builder)
Java设计模式-建造者模式(Builder)