设计模式之策略模式

2016-03-26  本文已影响18人  Binaryify

策略模式

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

模式作用:

  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>

上一篇 下一篇

猜你喜欢

热点阅读