js設計模式之策略模式的學習

2021-09-10 23:06:49 字數 932 閱讀 2963

策略模式:定義一系列的演算法,把他們乙個個封裝起來,並且使他們可以相互替換。

基礎實現

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...