策略模式由多个封装在一个称为Context的驱动器类里的相关算法组成。客户端程序可以从这些不同的算法里选择一个,或者在某些情况下,由Context替你选择一个最好的算法,策略模式的意图是使这些算法可交换,并提供一种方法来选择最合适的算法
http://www.cnblogs.com/promise-7/articles/2524357.html
策略模式跟工厂模式很像,都是交由客户端来根据需求动态的调用自己的Context参数或工厂类。而策略模式跟工厂模式不同的是策略模式更像一个白盒子,用context来告诉你你要怎么实现,而工厂模式则是告诉你你要实现这个产品,并不去关注你具体怎么实现的。
策略模式的缺点和工厂模式很像,需要在客户端来决定具体需要调用什么,不能程序自动判别。