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));

    这就是简单的策略模式。

  • 相关阅读:
    [USACO17JAN]Subsequence Reversal序列反转
    P1330 封锁阳光大学
    P1403 [AHOI2005]约数研究
    poj1456——Supermarket
    P1807 最长路_NOI导刊2010提高(07)
    P1137 旅行计划
    P1162 填涂颜色
    P1040 加分二叉树
    P1135 奇怪的电梯
    P1086 花生采摘
  • 原文地址:https://www.cnblogs.com/bdbk/p/4432963.html
Copyright © 2011-2022 走看看