定義されたポリシーモデルは以下のとおりです。アルゴリズムの家族の定義は、それらを各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は、サイズに成長させることができる機能、および柔軟性の欠如システム変更。
第二に、戦略パターン: