创建型-生成器模式

概念

Builder Pattern:又叫创建者模式/建筑模式,构建复杂的对象模式,把对象的构建与表现分离,使得同样的构建过程可以创建不同的表示。

img

模式结构

  • builder 生成器:创建对象的各个组成部分

  • director 导向器:组装对象的各个组成部分

  • Product 对象,对象实例,不需要关心部分如何生成

使用

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Builder {
constructor(params) {
this.params = params;
}
buildA() {
// 构建A部分
return this;
}
buildB() {
// 构建B部分
return this;
}
}

class Director {
constructor(params) {
const builder = new Builder(params);
builder.buildA();
builder.buildB();
}
}

const product = new Director('params')

优点

  • 构建与表现分离,代码可复用性强
  • 扩展性强

缺点

  • 如果产品之间的差异性大,则不适合使用这种模式
  • 如果产品很复杂,可能会导致需要很多具体建造者来实现部分,导致系统很庞大