设计模式之策略模式

策略模式概念
策略模式定义了算法家族,分别封装起来,让他们之间可以互相替换,
此模式让算法的变化不会影响到使用算法的客户。
策略模式作用:
1.所有的这些算法都是做相同的事情,只是实现不同
2.以相同的方式调用所有的方法,减少了各种算法类与使用算法类之间的耦合
3.单独定义算法类,也方便了单元测试
注意事项
1.不仅可以封装算法,也可以用来封装几乎任何类型的规则,是要在分析过程中
需要在不同时间应用不同的业务规则,就可以考虑是要策略模式来处理各种变化

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
        var $input = $('#input').val();
       /* var val = {
            isEmpty:function(){
                return false;
            },
            isTel:function(){
                return true;
            }
        }
        var ise = val.isEmpty($input.val());
        var isTel=val.isTel($input.val());
        if(!ise&&isTel){
            alert('通过审核');
        }
*/
        //真正的策略模式
        $.input.val({
            isEmpty:false,
            isTel:true
        })
        $('div').animate({100px},100,'策略');
    </script>
</body>
</html>

本文学习自常见设计模式视频

原文地址:https://www.cnblogs.com/smart-girl/p/11536299.html