JavaScriptのデザインパターン(戦略パターン)

定義されたポリシーモデルは以下のとおりです。アルゴリズムの家族の定義は、それらを各1カプセル化して、それらを交換します。分離と変化の同じ部分の一部は、各デザインパターンのテーマである、戦略パターンも例外ではありません、政策の目的は、モードアルゴリズムが分離アルゴリズムを使用して達成することです。

まず、最初の戦略パターン:

VaRの calculateBonus = 関数(performanceLevel、給料){
   場合(performanceLevel === 'S' ){ 
     戻り給与* 4 
  } 
  であれば(performanceLevel === 'A' ){ 
     戻り給与* 3 
  } 
  であれば(performanceLevel === 'B' ){ 
     戻り給与* 2 
  } 
}。
calculateBonus( 'B'、20000)。// 输出:40000 calculateBonus( 'S'、6000); //输出:24000

 組合せコードまたは改善された機能パッケージ

VaRの性能= 関数(給料){ 
   戻り給与* 4 
}。
VaRの performanceA = 関数(給料){ 
   戻り給与* 3 
}。
VAR performanceB = 関数(給料){ 
   戻り給与* 2 
}。
VaRの calculateBonus = 関数(performanceLevel、給料){
   場合(performanceLevel === 'S' ){ 
     戻り性能(給料)
  } 
  であれば(performanceLevel === 'A' ){ 
     リターンperformanceA(給料)
  } 
  場合(performanceLevel === 'B' ){ 
     戻りperformanceB(給与)。
  } 
} 

calculateBonus( 'A'、10000)。// 输出:30000

しかし、この改善は非常に限られ、calculateBonusは、サイズに成長させることができる機能、および柔軟性の欠如システム変更。

第二に、戦略パターン:

 

おすすめ

転載: www.cnblogs.com/angelatian/p/11771976.html