• 《大话设计模式》读书笔记二——策略模式


          第一次看《大话设计模式》中的策略模式时,我纳闷策略模式和简单工厂好像没有什么区别呀,但为什么又总结出了策略模式这个模式呢?
          带着这个疑问,我又回头去看了关于策略模式的讲解,“书读百遍其义自见”,果不其然,终于看出里面的区别。首先简单工厂主要用的是面向对象中多态的特性,即任何一个子类的实例都可以赋给父类类型变量,这些可以封装在工厂类里面。在客户端应用时,就需要同时使用到父类和工厂类。而策略模式区别简单工厂的一点是它多出了一个Context类,这个类封装了算法的变化,在客户端也只需要使用Context这个类就可以实现针对不用情况使用不同的算法(策略)。从某种程度上说,这种模式把耦合度降低了,即客户端只需要认识Context类,可以完全不管具体的实现算法类。

          再来看看定义:

         策略模式是一种定义了一系列算法的方法,从概念上来看,所有这些算法完成的都是相同的工作,只是实现不同,它可以以相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。

         策略模式定义了一系列的算法,并将每一个算法封装起来,而且使它们还可以相互替换。策略模式让算法独立于使用它的客户而独立变化。

         关于策略模式,《大话设计模式》讲的很容易理解,在园里另外一个朋友写的文章也很好。
         http://www.cnblogs.com/justinw/archive/2007/02/06/641414.html(鸭子——策略模式(Strategy))


     

    作者:边写边唱

    文章出处:http://www.cnblogs.com/zoupeiyang

    专注于用自助终端技术实现互联网+,有兴趣朋友欢迎关注   捷思科技

  • 相关阅读:
    第八节 JS运动基础
    第七节 DOM操作应用-高级
    第六节 DOM操作应用
    第五讲 DOM基础
    第二节 数学基础与语言学基础
    第一节 自然语言处理概论
    第0节 课程简述
    第四节 定时器
    基本概念
    常用命令
  • 原文地址:https://www.cnblogs.com/zoupeiyang/p/1486420.html
Copyright © 2020-2023  润新知