设计模式学习1——策略模式(Strategy)
嘿嘿,不知不觉这个策略模式就搞掂了,看来设计模式学起来也不是很难嘛。
策略模式
官方解释:Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.
我们达到了在运行期间,可以自由切换算法的目的。
实际整个Strategy的核心部分就是抽象类的使用,使用Strategy模式可以在用户需要变化时,修改量很少,而且快速.
Strategy和Factory有一定的类似,Strategy相对简单容易理解,并且可以在运行时刻自由切换。Factory重点是用来创建对象。
Strategy适合下列场合:
1.以不同的格式保存文件;
2.以不同的算法压缩文件;
3.以不同的算法截获图象;
4.以不同的格式输出同样数据的图形,比如曲线 或框图bar等
个人理解:说的这么帅……其实好像也不是很复杂,就是把对象的行为(算法)抽象出来,然后其他对象使用的时候用一个类来拼装一下,使具体的对象可以使用自己喜欢的方法做爱做的事儿。
最后,上一个实例吧,“鸭子的故事”,先上图:
点击下载源码