建造者模式

一、适用点

1
2
3
4
5
6
对与一个复杂对象,其构建的过程比较繁琐。
建造者模式可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构建出不同表现的对象

比如产品类中含有多个属性,抽象建造者规范了个属性的计算方法,具体建造者实现了这些方法(为产品的属性赋值),指挥者类调用抽象建造者的方法,并组合成产品,返回给客户。

针对复杂的产品,复杂的对象创建过程。

二、定义

1
按照构建蓝图组装产品。

三、结构

1
2
3
4
5
产品类(Product):一个具体的产品对象
抽象建造者(Bulider):创建一个Product对象的各个部分指定的接口
具体建造者(ConcreteBuilder):实现接口,构建和装配各个
指挥者类:类中含有构建产品的步骤。构建一个Bulider接口对象,它主要用于创建一个复杂的对象,
有两个作用,一:隔离客户与对象的生产过程,二:负责控制产品对象的生产过程。
image-20210530100148618

四、常见应用场景

1
2
使用lombok中的Build注解来实现
建造者模式所涉及到的产品大多数有着较多的共同点

五、对比

1
2
抽象工厂模式是对一系列的产品家族(具有不同属性维度的产品)进行生产的,生产的时候不关心生产的过程,只关心生产的结果。
建造者模式是根据产品设计的篮图来生产的。通过对零件的组装构建产品
Built with Hugo
主题 StackJimmy 设计

本站访客数 人次   总访问量   本文阅读量