ホームページ >ウェブフロントエンド >jsチュートリアル >js デザイン パターン: 戦略パターンとは何ですか? JS戦略パターンの紹介
この記事では、JS デザイン パターンに関するコンテンツをお届けします: 戦略パターンとは何ですか? js の戦略モードの紹介は一定の参考値がありますので、困っている方は参考にしていただければ幸いです。
定義: 異なるパラメータに応じて異なる戦略をヒットさせることができます
主な解決策: 類似したアルゴリズムが複数ある場合、if...elseを使用することによって引き起こされるメンテナンスの複雑さと困難。
いつ戦略パターンを使用するか: 多くの状況があり、それらを区別するのは単にその直接的な行動です。
解決方法: ハッシュ オブジェクトを通じてさまざまな戦略をマッピングします。
js戦略モードの利点: 1.アルゴリズムを自由に切り替えることができます。 2. 複数の条件判断を使用しないでください。 3. 優れた拡張性と再利用性。
js戦略モードの欠点: 1.戦略カテゴリが増加します。 2. すべての戦略クラスを外部世界に公開する必要があります。
戦略モードの使用シナリオ: 1. 動作に基づいて実行方法を動的に変更する必要があります。 2. コードを削減し、コードを読みやすくするため。 3. ポリシーの一元管理が必要。
年末ボーナスを取得する次のデモをご覧ください。これは、JS の戦略パターンの最も古典的なアプリケーションの 1 つです。 。
const strategy = { 'S': function(salary) { return salary * 4 }, 'A': function(salary) { return salary * 3 }, 'B': function(salary) { return salary * 2 } } const calculateBonus = function(level, salary) { return strategy[level](salary) } calculateBonus('A', 10000) // 30000
関数が第一級の要素である JS では、js 戦略パターンの使用が高階関数に隠されていることがよくあります。上記のデモを次の形式に少し変更すると、すでに使用されていることがわかります。 、デザインパターンをまたマスターしました。
const S = function(salary) { return salary * 4 } const A = function(salary) { return salary * 3 } const B = function(salary) { return salary * 2 } const calculateBonus = function(func, salary) { return func(salary) } calculateBonus(A, 10000) // 30000
関連する推奨事項:
PHPデザインパターンのシングルトンモードコード、PHPデザインパターン
以上がjs デザイン パターン: 戦略パターンとは何ですか? JS戦略パターンの紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。