zoukankan      html  css  js  c++  java
  • JavaScript中的设计模式:策略模式

    无论学习前端还是后端设计模式是作为一名程序员不可缺少的知识,就像下底传中对于一个边锋来说

    一.策略模式

    策略模式给人的第一感觉就是在代码里面消除了很多if-else分支语句,比如一个求员工奖金的程序:

    var caculate = function(level,salary){
        if(level==='A'){
            return salary*4;
        }
        if(level==='B'){
            return salary*5;
        }
    }
    caculate('A',5000);
    caculate('B',3000);

    不适用设计模式,代码如上图,会在一个函数中加入很多if判断,若果分支比较长,或者以后加入更多的种类,那么维护起来会很不方便。使用策略模式就是把真正需要变化的封装起来,比如这里的计算奖金的办法,最后将计算奖金委托给奖金算法。

    var strategy  = {
        'A':function(salary){
            return salary*4;
        },
        'B': function(salary){
            return salary*5;
        }
    };
    var caculate = function(level,salary){
        return strategy[level](salary);
    }
    console.log(caculate('A',5000));

    这就是简单的策略模式。

  • 相关阅读:
    设计模式--单例模式Singleton
    CSS选择器
    操作数据表
    HTML
    Shell学习
    LINUX常用命令
    多线程-互斥变量
    多线程-临界区
    每天一个linux命令:file(11)
    JavaScript设计模式小抄集(持续更新)
  • 原文地址:https://www.cnblogs.com/bdbk/p/4432963.html
Copyright © 2011-2022 走看看