设计模式之策略模式

策略模式

策略模式定义了算法家族,分别封装起来,让他们之间可以相互替换,此模式让方法的变化不会影响到使用算法的客户

模式作用:

  1. 所有的这些算法都是做相同的事情,只是实现不同。
  2. 以相同的方式调用所有的方法,减少了各种算法类与使用算法类之间的耦合。
  3. 单独定义算法类,也方便了单元测试。

注意事项:

  1. 不仅可以封装算法,也可以用来封装几乎任何类型的规则,是要在分析过程中需要在不同时间应用不同的业务规则,就可以考虑是要策略模式来处理各种变化。

例子:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>策略模式</title>
  <script src="http://cdn.bootcss.com/jquery/3.0.0-alpha1/jquery.min.js"></script>
</head>
<body>
  <input type="text" id="input">
<script>
var $input=$('#input');
var check={
  isEmpty:function(argument){
    //逻辑代码
    return false;
  },
  isTel:function(){
    //逻辑代码
    return true;
  }
}
var ise=check.isEmpty($input.val());
var isTel=check.isTel($input.val());
console.log(ise);//false;
console.log(isTel);//true
</script>
</body>
</html>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在程序设计中,我们也常常遇到这样的情况,要实现某一个功能有多种方案可以选择。比如一个压缩文件的程序,既可以选择 z...
    风铭阅读 1,496评论 0 0
  • 一、什么是策略模式 策略模式属于对象的行为模式。其用意是针对一组算法,将每一个算法封装到具有共同接口的独立的类中,...
    雅俗共赏M阅读 467评论 0 0
  • 策略模式 大多数问题都可以使用多种方法来解决。以排序问题为例,对于以一定次序把元素放入一个列表,排序算法有很多。通...
    英武阅读 1,861评论 0 50
  • 在日常开发过程中时常需要用到设计模式,但是设计模式有23种,如何将这些设计模式了然于胸并且能在实际开发过程中应用得...
    AntDream阅读 3,631评论 3 7
  • 策略模式(Strategy):将定义的一组算法封装起来,使其相互之间可以替换。封装的算法具有一定独立性,不会随客户...
    JSUED阅读 382评论 0 1