创建型设计模式-建造者模式

76 阅读1分钟

建造者模式(Builder Pattern):将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。

伪代码分析

// 产品类,表示被构建的复杂对象
class Product {
    // 产品的各个部分
    partA
    partB
    partC
}

// 抽象建造者类,定义了构建产品各个部分的接口
interface Builder {
    buildPartA()
    buildPartB()
    buildPartC()
    getResult() -> Product
}

// 具体建造者类,实现了构建产品各个部分的具体逻辑
class ConcreteBuilder implements Builder {
    buildPartA() {
        // 构建产品的 Part A
    }
    
    buildPartB() {
        // 构建产品的 Part B
    }
    
    buildPartC() {
        // 构建产品的 Part C
    }
    
    getResult() -> Product {
        // 返回构建好的产品
    }
}

// 指挥者类,负责使用建造者构建产品的过程
class Director {
    construct(builder: Builder) {
        builder.buildPartA()
        builder.buildPartB()
        builder.buildPartC()
        return builder.getResult()
    }
}

// 客户端代码示例
builder = new ConcreteBuilder()
director = new Director()
product = director.construct(builder)

在建造者模式中,产品的构建过程由指挥者(Director)来控制,具体的构建逻辑由具体建造者(ConcreteBuilder)来实现。客户端通过指挥者来构建复杂对象,可以灵活地改变具体建造者以获得不同的产品表示。