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设计模式与开发实践》一书

最新文章

  1. Android WiFi密码(查看工具)
  2. ubuntu15.10安装搜狗拼音输入法
  3. Python3 学习第十二弹: 补充something
  4. 通过百度地图API实现搜索地址--第三方开源--百度地图(三)
  5. springmvc中url-pattern的大坑
  6. Twisted介绍
  7. JAVA Hibernate别名排序问题
  8. nodejs学习笔记之安装、入门
  9. 经常会用到的js函数
  10. Java编写高质量代码改善程序的151个建议
  11. Django—常用功能
  12. QTimer 的使用
  13. mybatis + oracle insert clob,出现ORA-01461:仅能绑定要插入LONG列的LONG值
  14. 廖雪峰Java6 IO编程-3Reader和Writer-2Writer
  15. C# 委托和泛型
  16. (网页)SQLserver中在上线的项目中遇到科学计数法怎么办?
  17. BZOJ2333 [SCOI2011]棘手的操作 堆 左偏树 可并堆
  18. [HTML]js读取XML文件并解析
  19. Java实现浏览器端大文件分片上传
  20. 【SQL查询】树结构查询

热门文章

  1. 关于JS面向对象、设计模式、以及继承的问题总结
  2. 年轻By塞缪尔·厄尔曼
  3. ios sqlite数据库操作
  4. BZOJ 2245 SDOI 2011 工作安排 费用流
  5. SIP对话、事务详解
  6. HASH算法具体解释
  7. RSA DH
  8. 魔兽争霸war3心得体会(二):狗转蜘蛛,DK光环+游侠二发
  9. 怎样推断DIV中的内容为空
  10. Java解惑八:很多其它库之谜