最近在看 曾探 的「 JavaScript 设计模式与开发实践」,随笔记一下比较好的代码,大家一起学习
策略模式思想:
定义一系列算法,把他们一个个封装起来,并且使它们可以相互替换。
//策略对象,封装具体实现
var strategies = {
'S':function(salary){
return salary * 4;
},
'A':function(salary){
return salary * 3;
},
'B':function(salary){
return salary * 2;
}
};
//Context,接受用户请求的函数
var calculateBonus = function(level,salary){
//在Context中把具体实现交给strategies
return strategies[level](salary);
}
//调用
console.log(calculateBonus('S',2000));