JavaScript - 设计模式 - 策略模式

策略模式的优点:减少处理函数的if-else判断,将不同情况的解决方案封装到一个策略对象中,提高可扩展性,也利于复用。

  • 经典例子:根据职效发年终奖
// 策略对象
var strategies = {
    'S'(base){
        return base * 4;
    },
    'A'(base){
        return base * 3;
    },
    'B'(base){
        return base * 2;
    }
};
// 将计算的任务委托给策略对象
function calculateBonus(level,base){
    return strategies[level](base);
};
console.log(calculateBonus('S',1000));// 4000
console.log(calculateBonus('A',1000));// 3000

你可能感兴趣的:(JavaScript - 设计模式 - 策略模式)