JS设计模式之策略模式
意图
定义一系列算法, 把它们一个个封装起来,并且使它们可以相互替换。本模式使得算法可独立于使用它的客户而变化。
——《设计模式:可复用面向对象软件的基础》中文版第234页
由于在JS中,函数是一等公民,所以我们这里直接把函数当作这一个个策略对象即可。
示例
我们的编码目的是,根据一个人的等级把他的薪水乘不同的系数:
- 如果是A级,就乘4。
- 如果是B级,就乘3。
- 如果是C级,就乘2。
不要用if else
或者switch case
,直接运用我们的策略模式,代码如下:
1 | const strategies = { |
以上。
参考
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 喵喵小窝!