0 欢迎关注 Github
欢迎关注全是干货的技术公众号
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 文件