设计模式学习1——策略模式(Strategy)

嘿嘿,不知不觉这个策略模式就搞掂了,看来设计模式学起来也不是很难嘛。 

策略模式

   官方解释:Strategy策略模式是属于设计模式中 对象行为型模式,主要是定义一系列的算法,把这些算法一个个封装成单独的类.

  我们达到了在运行期间,可以自由切换算法的目的。

  实际整个Strategy的核心部分就是抽象类的使用,使用Strategy模式可以在用户需要变化时,修改量很少,而且快速.

  Strategy和Factory有一定的类似,Strategy相对简单容易理解,并且可以在运行时刻自由切换。Factory重点是用来创建对象。

  Strategy适合下列场合:

1.以不同的格式保存文件;

2.以不同的算法压缩文件;

3.以不同的算法截获图象;

4.以不同的格式输出同样数据的图形,比如曲线 或框图bar等

  个人理解:说的这么帅……其实好像也不是很复杂,就是把对象的行为(算法)抽象出来,然后其他对象使用的时候用一个类来拼装一下,使具体的对象可以使用自己喜欢的方法做爱做的事儿。

        最后,上一个实例吧,“鸭子的故事”,先上图:

 点击下载源码
 
 

posted @ 2008-05-24 02:22  玉米疯收  阅读(419)  评论(5编辑  收藏  举报