12.4每日总结

建造者模式

建造者模式是一种创建型设计模式,旨在将对象的构建过程和表示分离,以便相同的构建过程可以创建不同的表示。它允许逐步构建复杂对象,同时隐藏其构建细节。

建造者模式包含以下几个重要的角色:

1. 产品(Product): 要构建的复杂对象。可以是具体的产品类,也可以是产品的抽象接口。

2. 抽象建造者(Builder):定义了构建产品的抽象接口,包括各部件的创建方法和返回产品的方法。

3. 具体建造者(Concrete Builder):实现抽象建造者接口,负责具体产品各部件的创建和组装。

4. 指挥者(Director):负责使用建造者接口来构建产品,不涉及具体产品的信息,只负责构建过程的组装。

建造者模式的工作流程通常如下:

1. 客户端创建指挥者对象,并将具体建造者对象传递给指挥者。

2. 指挥者根据具体建造者的实现进行产品的构建,调用具体建造者的方法来创建产品的各个部分。

3. 客户端通过指挥者获取构建好的产品。

建造者模式的优点包括:

- 将产品的构建过程和表示分离,使得构建过程更加灵活,可以根据需要更改产品的构建流程。
- 客户端不需要关心产品的具体构建过程,只需要通过指挥者获取构建好的产品。

然而,建造者模式也存在一些缺点:

- 如果产品的部件之间存在较为复杂的依赖关系,可能会增加具体建造者的编写难度。
- 需要额外的代码来实现具体建造者和指挥者,增加了系统的复杂度。

建造者模式适用于以下场景:

- 构建复杂对象,且产品的构建过程比较复杂,需要逐步构建。
- 需要构建的产品具有多个部分,且不同的构建过程会产生不同的表示。

posted @ 2023-12-04 23:56  ME社长  阅读(50)  评论(0)    收藏  举报