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

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 文件


发布了331 篇原创文章 · 获赞 150 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_33589510/article/details/103949628