戦略モードStratetgy


戦略モードStratetgy
モチベーション
  • ソフトウェア構築の過程で、一部のオブジェクトが使用するアルゴリズムは多種多様であり、しばしば変更され、これらのアルゴリズムをオブジェクトに符号化すると、オブジェクトが異常に複雑になる.また、使用しないアルゴリズムをサポートすることもパフォーマンスの負担になります.
  • 実行時に必要に応じてオブジェクトのアルゴリズムを透明に変更するにはどうすればいいですか?アルゴリズムをオブジェクト自体とデカップリングして、上記の問題を回避しますか?

  • パターン定義
    一連のアルゴリズムを定義し、それらを1つずつカプセル化し、互いに置換(変化)できるようにします.このモードにより、アルゴリズムは、それを使用するクライアント・プログラム(安定)とは独立して変化(拡張、サブクラス化)することができる.『デザインモード』GoF
    Structure
    要点まとめ
    1. Strategy                    ,                              。
    
    2. Strategy                     ,        ,      。                   Strategy   。
    
    3.    Strategy         ,               Strategy   ,        。

    コード実装
    ポリシー・モード-サンプル・コード