JavaScript设计模式 -- 策略模式
作者: DocWhite白先生
一. 概念
策略模式,通俗易懂,就是字面意思,无论是生活还是编程,在实现一个目的的时候通常会有很多策略能达成目的,而策略模式存在的意义在于可以随意切换某种策略但依然保证能达到期望的目的。也就是:
定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
二. 简单例子
使用策略模式设计一个计算奖金的程序。
很多公司的年终奖是根据员工的工资基数和年底绩效情况来发放的。例如,绩效为 S 的人年 终奖有 4 倍工资,绩效为 A 的人年终奖有 3 倍工资,而绩效为 B 的人年终奖是 2 倍工资,其他为一倍工资。假设财 务部要求我们提供一段代码,来方便他们计算员工的年终奖。
先不考虑策略模式,一个最简单的实现是这样:
function calculateBonus(performanc