ddu-策略模式和模板方法

2016-07-13  本文已影响0人  小董666

策略模式的简单实现

通常如果一个问题有多个解决方案或者稍有区别的操作时,最简单的方式就是利用if-else or switch-case方式来解决,对于简单的解决方案这样做无疑是比较简单、方便、快捷的,但是如果解决方案中包括大量的处理逻辑需要封装,或者处理方式变动较大的时候则就显得混乱、复杂,而策略模式则很好的解决了这样的问题,它将各种方案分离开来,让操作者根据具体的需求来动态的选择不同的策略方案。 这里以简单的计算操作(+、-、、/)作为示例:
Calc:进行计算操作的上下文环境。
Strategy : 计算操作的抽象。
AddStrategy、SubStrategy、MultiStrategy、DivStrategy : 具体的 +、-、
、/ 实现。

AbstractClass : 抽象类,定义了一套算法框架。
ConcreteClass1 : 具体实现类1;
ConcreteClass2: 具体实现类2;

不同对象的方法执行不一样,但是总体的调用方法流程一样。

上一篇下一篇

猜你喜欢

热点阅读