策略模式

2015-06-08  本文已影响73人  JohnSmith

定義

定義一系列的算法,把它們一個個封裝起來,並且使它們可以相互替換。

要點

核心代碼

var strategies = {
    S: function(salary) {
        return salary * 4;
    },
    A: function(salary) {
        return salary * 3;
    },
    B: function(salary) {
        return salary * 2;
    }
};
var calculateBonus = function(level, salary) {
    return strategies[level](salary);
};
calculateBonus('S', 20000);
\\ 隱形的策略模式
var S = function(salary) {
    return salary * 4;
};
var A = function(salary) {
    return salary * 3;
};
var B = function(salary) {
    return salary * 2;
};
var calculateBonus = function(fn, salary) {
    return fn(salary);
};
calculateBonus(S, 20000);
上一篇 下一篇

猜你喜欢

热点阅读