建造者模式(Builder),将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。
类图
描述
Builder:定义一个建造者抽象类,以规范产品对象的各个组成部分的建造。这个接口规定要实现对象的哪些部分的创建,并不涉及具体的对象部件的创建。
ConcreteBuilder:继承Builder,针对不同的业务逻辑,具体化对象的各部分的创建。在建造过程完成后,提供产品的实例。
Director:调用具体建造者来创建对象的各个部分,在指导者中不涉及具体产品的信息,只负责保证对象各部分完整创建或按某种顺序创建。
Product:要创建的对象。
建造者模式仅仅只比工厂模式多了一个"Director类"的角色。
应用场景
以生产轿车为例,建造者负责生产汽车的各个部件,而指挥者负责指挥建造者按流程组装轿车。