Appearance
策略模式
定义一系列方法(或算法),使它们可以相互替换。
一般来说,可以用来替代if...else的写法
小例子
根据不同条件返回不同结果
javascript
let strategy = {
"A": (salary)=>{
return salary*4
},
"B": (salary)=>{
return salary*3
},
"C": (salary)=>{
return salary*2
},
"D": (salary)=>{
return salary
},
}
function calcBonus(level, salary){
return strategy[level](salary)
}
calcBonus("A", 10000)
calcBonus("C", 8000)