定义

将一个复杂对象的构建与它的表示分离,是的同样的构建过程可以创建不同的表示

用户只需要指定建造的类型,同样可以创建复杂的对象

创建和使用分离

建造者模式和工厂模式相近
但建造者模式创造出来的对象是比较灵活的,而且方法的使用顺序是比较随意的
工厂模式创造的对象是固定好的

此模式用到的比较多就不写demo了

常用的建造者模式举例

lombok中的建造者模式

在实体类上加一个Builder注解即可

  1. @Data
  2. @Builder
  3. public class Course {
  4. private String name;
  5. private String ppt;
  6. private String video;
  7. private String questionAnswer;
  8. }

创建对象就可以使用链式编程

  1. Course build = Course.builder()
  2. .name("设计模式")
  3. .ppt("设计模式ppt")
  4. .build();

除此之外,还有Swaager的配置 StringBuilder 都算是建造者模式