策略模式实战
在项目中可能遇到这样的情况,我们要收集项目中的所有信息,而每种信息的收集方法是不一样的,我就遇到了这样的情况。起初我用的是直接收集合并,在二个时就已经很费力了,这次是把所有的信息(有11处之多)收集起来。
我想到了策略模式的意图,把策略选择逻辑和策略执行逻辑分开。所以我就把4种选择方法分别做成了四种策略,每种策略的取分数方法做为策略的执行内容。于是上面的类图就出现了。
通过应用策略模式我们把一个复杂的逻辑分成了三个部分,客户代码、选择策略、执行策略。这样代码得到了简单化。连我自己都不明白为什么我把每种策略单独实现了,把选择策略实现了,客户代码一调就行了,真是太神奇了。
模式是个好东西,能简化设计。要好好学习之。
![](http://www.cnblogs.com/images/cnblogs_com/nanshouyong326/90398/o_20080126(020).jpg)