2 jim 007 jim_007 于 2017.01.12 11:34 提问

“策略模式”比“简单工厂模式”好在哪?

我看《大话设计模式》,讲策略模式时是先用工厂模式发现后期修改维护成本高,才在简单工厂模式的基础上进化出了策略模式,但我真心没看出来策略模式比工厂模式在提高成本上好在哪?
想增加一个对象,都得增加一个方法类,然后在switch分支里增加个条件判断,真心没看出来策略模式怎么比工厂好了,我个人反而觉得策略因为增加个context策略类反而增加了系统???求指教!!!

2个回答

JE_GE
JE_GE   2017.01.12 12:57

关键是看在什么场景里面使用

qq_29594393
qq_29594393   Ds   Rxr 2017.01.12 13:42

根据开闭原则 ,只添加 ,不修改 。 工厂模式 可能要修改原先的代码 ,但是策略模式不需要 ,在实际开发中 ,修改长时间以前的代码,不确定因素太多 ,而且需要理清逻辑,这些都需要消耗很多时间,而且是没有意义的,改完后,你又会忘记 ,下次又需要时间去阅读,特别是在维护其他人的代码的时候 ,但是添加 相对而言就简单的多。

jim_007
jim_007 超市搞活动,原先只有大致,满1000减200活动,现在要添加满800送300积分活动,不管是工厂模式还是策略模式进行修改,都得添加个送积分的具体实现类,然后在条件判断中增加个条件判断;这俩在开闭原则的修改添加上的成本不是一样的吗?你能给举例说说策略原则怎么比工厂好吗?
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!