建造者模式
建造者模式
1. 概念
定义
将一个复杂对象的构建与他的表示分离,使得同样的构建过程可以创建不同的表示。
使用场景
- 当对象有复杂的内部结构(很多属性)
- 当创造一个对象 需要很多步骤时 , 适合使用建造者模式 ; 当创造一个对象 只需要一个简单的方法就可以完成 , 适合使用工厂模式
优缺点
优点:
- 创建和使用分离
- 建造类之间 相互独立 , 在 一定程度上解耦 ;
缺点 :
增加类数量 : 产生多余的 Builder 对象 ;
内部修改困难 : 如果 产品内部发生变化 , 建造者也要相应修改 ;
建造者模式 与 工厂模式 :
注重点不同 : 建造者模式 更注重于 方法的调用顺序 ; 工厂模式 注重于 创建产品 , 不关心方法调用的顺序 ;
创建对象力度不同 : 创建对象的力度不同 , 建造者模式可以创建复杂的产品 , 由各种复杂的部件组成 , 工厂模式创建出来的都是相同的实例对象 ,
2. 代码
教师创建课程
2.1 版本1
1 |
|
1 |
|
1 |
|
1 |
|
1 |
|
2.2 版本2
1 |
|
1 |
|
3. Java的应用
- JDK 中StringBuilder, stringBuffer的append()
spring中BeanDefinitionBuilder
Mybatis 中MybatisSqlSessionFactoryBuilder
建造者模式
http://example.com/建造者模式/