JS策略模式

作者: ThomasCho | 来源:发表于2018-06-09 10:57 被阅读14次

    策略模式的定义:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
    基于策略模式的程序至少由两部分组成。

    1. 策略类,策略类封装了具体的算法,并负责具体的计算过程。
    2. 环境类 Context,Context接受客户的请求,随后把请求委托给某一个策略类。要做到这点,说明 Context中要维持对某个策略对象的引用。

    以下编写一个名为calculateBonus的函数来计算每个人的奖金数额,它接收两个参数:员工的工资数额和他的绩效考核等级。

    let strategies = {
        S: salary => salary * 4,
        A: salary => salary * 3,
        B: salary => salary * 2
    }
    
    let calculateBonus = (level, salary) => {
        return strategies[level](salary)
    }
    
    console.log(calculateBonus('S', 20000))
    console.log(calculateBonus('A', 10000))
    

    运行结果:

    80000
    30000
    

    相关文章

      网友评论

        本文标题:JS策略模式

        本文链接:https://www.haomeiwen.com/subject/ozhteftx.html