标签:计算过程 引用 logs rip 实践 策略 学习 function 组成
var S = function (salary) { return salary * 4; }; var A = function (salary) { return salary * 3; }; var B = function (salary) { return salary * 2; }; var calculateBonus = function (func, salary) { return func(salary); }; calculateBonus(S, 10000);
能看出上面是一个策略模式的实现么?一个基于策略模式的程序至少由两部分组成。第一个部分是一组策略类,策略类封装了具体的算法,并负责具体的计算过程。第二个部分是环境类,环境类接受客户的请求,随后把请求委托给某一个策略类。要做到这点,说明环境类要维持对某个策略对象的引用。
仍从学习自《JavaScript设计模式与开发实践》一书
标签:计算过程 引用 logs rip 实践 策略 学习 function 组成
原文地址:http://www.cnblogs.com/zhansu/p/6519643.html