builder 构建器也是属于“对象创建模式”模式的一种,是一个不常用,比较小的模式。
文章目录
1. 动机(Motivation)
- 在软件系统中,有时候面临着
“一个复杂对象”
的创建工作,其通常由各个部分的子对象用一定的算法构成;由于需求的变化,这个复杂对象的各个部分经常面临着剧烈的变化
,但是将它们组合在一起的算法却相对稳定
。
此处的描述与Template Method的描述相似,但是主要解决的是对象创建的问题
- 如何应对这种变化?如何提供一种“封装机制”来隔离出“复杂对象的各个部分”的变化,从而保持系统中的“稳定构建算法”不随着需求改变而改变?
2. 代码演示builder 构建器
假设游戏中需要建房子,可能建茅草屋、砖瓦房、豪华房,但是建房子具有固定的几个流程,包括:地板、地基、窗户、房顶,但是不同房子的窗户、门等的构造方式可能不一样。
2.1 builder 构建器模式的形式1方法
假设构建窗户、门等是几个步骤
virtual void BuildPart1(