JavaScript設計模式 樣例二 —— 策略模式

策略模式(Strategy Pattern):javascript

定義:定義了一族算法; 封裝了每一個算法; 這族的算法可互換代替。
目的:將算法的使用與算法的實現分離開來。
場景:可用來消除大量的條件分支語句。

例:JS代碼實現java

// 策略算法封裝
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-Examplegit

相關文章
相關標籤/搜索