java基础 设计模式 建造者模式 一、适用点 1 2 3 4 5 6 对与一个复杂对象,其构建的过程比较繁琐。 建造者模式可以将复杂对象的建造过程抽象出来,使这个抽象过程的不同实现方法可以构建出不同表现的对象 比如产品类中含有多个属性,抽象建造者规范了个属性的计算方法,具体建造者实现了这些方法(为产品的属性赋值),指挥者类调用抽象建造者的方法,并组合成产品,返回给客户。 针对复杂的产品,复杂的对象创建过程。 二、定义 1 按照构建蓝图组装产品。 三、结构 1 2 3 4 5 产品类(Product):一个具体的产品对象 抽象建造者(Bulider):创建一个Product对象的各个部分指定的接口 具体建造者(ConcreteBuilder):实现接口,构建和装配各个 指挥者类:类中含有构建产品的步骤。构建一个Bulider接口对象,它主要用于创建一个复杂的对象, 有两个作用,一:隔离客户与对象的生产过程,二:负责控制产品对象的生产过程。 四、常见应用场景 1 2 使用lombok中的Build注解来实现 建造者模式所涉及到的产品大多数有着较多的共同点 五、对比 1 2 抽象工厂模式是对一系列的产品家族(具有不同属性维度的产品)进行生产的,生产的时候不关心生产的过程,只关心生产的结果。 建造者模式是根据产品设计的篮图来生产的。通过对零件的组装构建产品