策略模式:定義一系列的演算法,把他們乙個個封裝起來,並且使他們可以相互替換。
基礎實現
var performances = function(){};
performances.prototype.calculate = function(salary)
var performancea = function(){};
performancea.prototype.calculate = function(salary)
var performanceb = function(){};
performanceb.prototype.calculate = function(salary)
//定義獎金類
var bonus = function()
bonus.prototype.setsalary = function(salary)
bonus.prototype.setstrategy = function(strategy)
bonus.prototype.getbonus = function()
var bonus = new bonus();
bonus.setsalary(10000);
bonus.setstrategy(new performances())
console.log(bonus.getbonus())
使用策略模式修改
var strategies = ,
"a":function(salary),
"b":function(salary)
}var calculatebonus = function(level,salary)
console.log(calculatebonus('s',2000))
理解js設計模式之策略模式
策略模式的定義 定義一系列的演算法,然後根據實際情況去呼叫 乙個小插曲 最近在專案的過程中接手了乙個比較複雜的需求,由於是舊的專案用新的框架重構,所以能夠看見以前的 吸取下前人 的精華,復用一些可用的 免得自己寫半天。當然這篇的主題是策略模式,不會離題,因為當我完成了version 1 後,專案裡面...
理解js設計模式之策略模式
策略模式的定義 定義一系列的演算法,然後根據實際情況去呼叫 乙個小插曲 最近在專案的過程中接手了乙個比較複雜的需求,由於是舊的專案用新的框架重構,所以能夠看見以前的 吸取下前人 的精華,復用一些可用的 免得自己寫半天。當然這篇的主題是策略模式,不會離題,因為當我完成了version 1 後,專案裡面...
設計模式學習之策略模式
1.名詞解釋 策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的使用者。在不同的時間或條件應用不同的業務規則時,可以考慮使用策略模式 2.示例 策略抽象類 package designpattern.strategypattern pub...