策略模式(Strategy Pattern):

定义:定义了一族算法; 封装了每个算法; 这族的算法可互换代替。
目的:将算法的使用与算法的实现分离开来。
场景:可用来消除大量的条件分支语句。

例:JS代码实现

// 策略算法封装
let strategy = {
    add (number1, number2) {
        return number1 + number2
    },
    sub (number1, number2) {
        return number1 - number2
    },
    mul (number1, number2) {
        return number1 * number2
    },
    div (number1, number2) {
        return number1 * number2
    }
}

// 策略算法调用封装
function callStratery (strategyType, number1, number2) {
    return strategy[strategyType](number1, number2)
}

// 策略算法调用
callStratery(add, 1, 2) // return 3

Git地址:https://github.com/skillnull/Design-Mode-Example

相关文章:

  • 2022-02-14
  • 2021-11-04
  • 2022-12-23
  • 2022-12-23
  • 2018-06-22
  • 2022-12-23
  • 2018-03-05
猜你喜欢
  • 2018-09-29
  • 2017-12-13
  • 2019-10-18
  • 2021-11-02
  • 2021-11-02
  • 2022-02-17
相关资源
相似解决方案