JavaScript戦略モード

1.戦略モード:一連のアルゴリズムを定義し、それらを1つずつカプセル化し、互換性を持たせます。

2.例:

var S = function( salary ){
    return salary * 4;
};

var A = function( salary ){
    return salary * 3;
};

var B = function( salary ){
    return salary * 2;
};

var calculateBonus = function( func, salary ){
    return func( salary );
};

calculateBonus( S, 10000); //输出:40000

3.アプリケーションシナリオを上記のコードに割り当てます。

会社が年末のボーナスを発行したいが、ボーナスのシェアはポジションごとに区別する必要があるとします。たとえば、取締役レベル、チームリーダーレベル、一般従業員レベルに分けられます。Sは取締役レベルのボーナス機能です。これは給与の4倍です。計算するときは、Sオブジェクトと給与を入力するだけで、年末のボーナスを計算できます。他は同じです。

第四に、戦略モデルの長所と短所

利点:

    1.組み合わせ、委任、ポリモーフィズムなどの手法やアイデアを使用すると、複数の条件付き選択ステートメントを効果的に回避できます。

    2.ストラテジーモードは、オープンクローズの原則を完全にサポートし、アルゴリズムを独立したストラテジーにカプセル化して、切り替え、理解、拡張を容易にします。

    3.ストラテジーモードのアルゴリズムは、システムの他の部分でも再利用できるため、コピーと貼り付けの繰り返し作業を何度も回避できます。

    4.戦略モードでは、組み合わせと委任を使用して、コンテキストがアルゴリズムを実行できるようにします。これは、継承のより軽い代替手段でもあります。

短所:

    1.ストラテジーモードは、多くのストラテジークラスまたはストラテジーオブジェクトをプログラムに追加します。

    2.戦略モデルを使用するには、すべての戦略と各戦略の違いを理解して、適切な戦略を選択できるようにする必要があります。

5.ステートメント:上記のコンテンツは、「JavaScriptデザインパターンと開発プラクティス」から採用されています。

おすすめ

転載: blog.csdn.net/joyksk/article/details/79799450