前言
零基础快速上手《设计模式》点击如下传送门
秒懂—设计模式https://blog.csdn.net/weixin_56232016/article/details/136766136
“设计模式学的是思想,而不是套用模板”
概念看不懂时可以参考个人理解
“因为最近有事比较忙,先陆陆续续把整理的一些信息发上来,后面再加上个人理解”
建造者模式
定义
将一个复杂对象的构建与表示分离,使得同样的构建过程可以创建不同的表示。
角色:
- Product(产品类):,通常实现了模板方法模式
- Builder(抽象建造者):规范产品的组建
- ConcreteBuilder(具体建造者):实现抽象定义的方法,具体化产品组建细节
- Director(导演类):安排产品组建顺序
UML
使用场景
- 相同方法,不同执行顺序产生不同的产品结果
- 产品类复杂,且调用顺序不同产生不同的实现细节
- 产品相同组成部分,但不同组成细节组成的产品由不相同
优缺点:
优:
- 封装性强
- 建造者独立,容易扩展
- 对建造过程逐步细化,便于控制实现细节风险
缺:
- 产品的属性较少时可能会导致代码冗余
- 增加了系统的类和对象数量