设计模式3—策略模式【行为型】

https://www.cnblogs.com/zooboo/p/9556212.html

1、参考例子:

var obj = {
        "A": function(salary) {
            return salary * 4;
        },
        "B" : function(salary) {
            return salary * 3;
        },
        "C" : function(salary) {
            return salary * 2;
        } 
};
var calculateBouns =function(level,salary) {
    return obj[level](salary);
};
console.log(calculateBouns('A',10000)); // 40000

【以上面例子说明】策略模式的目的就是将 算法的使用算法的实现 分离开来。体现在代码中,就是用一个单独的对象,封装所有的 算法实现

        因为,算法最后都会返回一个值,所以使用结果是一样的,这样 封装 一个 调度 算法的函数【根据参数,自动使用相应的算法】。

个人理解:策略模式,就是 将多种执行任务 写在一个对象下,由一个 函数 统一调度这些任务。调度方法,一次只能调度一个任务;如果要调度多个方法,应该生成一个新的任务。

     在任务里面 可以组合多个任务。

2、策略模式实际使用场景:

  a、表单验证中的使用。   【参考   实际模式的书籍】

3、使用策略模式的优点如下:

优点:1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句

           2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展

           3. 策略模式中的代码可以复用。

posted @ 2021-02-10 11:19  吴飞ff  阅读(49)  评论(0编辑  收藏  举报