设计模式学习笔记——建造者模式

网友投稿 266 2022-09-14

设计模式学习笔记——建造者模式

建造者模式怪就怪在有一个导演类(Director)。

本来,建造什么东西,应该放在建造类(Builder),由它来封装建造过程。

但建造者模式里面,偏偏将这个建造过程,放在导演类。建造者只提供建造基本东西的方法,由导演类来按需调用,任意组合。如果一个建造者的建造方法,随意组合,就能够千变万化,得到各种不同结果,显然结果就不能放在建造者类里面,由建造者提供。

如果用拍戏来做例子,建造者模式还真切合:演员就是Builder,导演就是Director,影片就是Product。演员会各种演技(各种建造方法),就看导演怎么安排(调用)了。

而我现在读的这本设计模式教材(清华大学出版社),举的例子是麦当劳里的套餐。Builder1是套餐A,Builder2是套餐B,然后由侍应(Director)来指定内容,我认为例子举的不恰当,不好理解。套餐本来就是固定的,尽管里面有饮料,有薯条什么的,但无须什么组合。难道套餐还可以增减内容的?这还叫套餐吗?应该说套餐是Director才对。

如果非要用美式快餐店来做建造者模式的例子,我认为可以这样举例:

Director:叫外卖的人

Builder1:麦当劳

Builder2:肯德基

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:神州租车的“秒杀”活动
下一篇:OpenCV学习笔记-拉普拉斯变换
相关文章

 发表评论

暂时没有评论,来抢沙发吧~