学习笔记《建造者模式(上)》
盖房子项目需求
- 需要建房子:这一过程为打桩、砌墙、封顶
- 房子有各种各样的,比如普通房,高楼,别墅,各种房子的过程虽然一样,但是要求不相同的。
- 请编写程序,完成需求。
传统方式解决盖房需求
-
思路分析
-
代码演示
步骤1:抽象出建房子类
步骤2:继承抽象类且实现抽象的方法
步骤3:创建客户端代码
步骤4:执行程序,结果如图:
-
小结:房子建好了,那问题出现在哪呢?
传统方式解决盖房需求问题分析
1)优点是比较好理解,简单易操作。
2)设计的程序结构,过于简单,没有设计缓存层对象,程序的扩展和维护不好,也就是说这种设计方案,把产品(即房子)和创建产品的过程(即建房子的流程)封装在一起,耦合性增强了。
3)解决方案:将产品和产品建造过程解耦=》建造者模式。