设计模式实战 - 建造者模式

155 阅读1分钟

1 定义与类型

2 适用场景

3 优点

4 缺点

5 与工厂模式的区别

  • 注重方法调用顺序
  • 注重创建产品,不关心顺序

创建对象的力度不同

  • 创建复杂的作品,有各种复杂的部件组成
  • 创建出来的都是一个样子

关注点

  • 不止要创建出来,还要知道产品有哪些部件组成的
  • 只要把对象创建出来即可

6 coding 分析

  • 课程类


  • 课程建造者


  • 课程真正建造


  • 课程教练



测试类

7 应用实例

7.1 StringBuilder


方法几乎都是返回一个自身实例



7.2 Guava不可变集合类


建造者内部类



和之前同理,必存在一个 build 方法


7.3 Spring-BeanDefinition


7.4 Mybatis - SqlSessionFactoryBuilder

  • 入参为一个配置,传给默认的 session 工厂进行构造


  • 解析 mybatis 的 xml 文件