目录
1、概念
- 1、概念
- 2、目的
- 3、解释
- 4、代码实现
定义一系列的算法,把他们一个个封装起来,并且使他们可以相互替换。
2、目的策略模式的目的就是将算法的使用和算法的实现分离开。
3、解释一个基于策略模式的程序至少由两部分组成。第一个部分是一组策略类(可变),策略类封装了具体的算法,并负责具体的计算过程。第二个部分是环境类Context(不变),Context接受客户的请求,随后将请求委托给某一个策略类。要做到这一点,说明Context中要维持对某个策略对象的引用。
4、代码实现// 策略类 let levelOBJ = { funA: function(money) { return money * 5; }, funB: function(money) { return money * 3; }, funC: function(money) { return money * 2; } }; // 环境类 let calculateBouns = function(level, money) { return levelOBJ[level](money); }; console.log(calculateBouns('funA', 10)); // 50 console.log(calculateBouns('funB', 20)); // 60 console.log(calculateBouns('funC', 30)); // 60