策略模式(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