PROFESSIONAL GAME CREATOR SCHOOL G学院 用語集

OFFICIAL SITEへ戻る

Strategy

 Strategyとは、オブジェクト指向プログラミングにおいてギャング・オブ・フォーにより提案された23種類のデザインパターンの1つです。このデザインパターンはオブジェクトの振る舞いに関わるパターンです。
 Strategyパターンは、一言でまとめると、状況に応じて振る舞いが変わるような場合に、振る舞いに関わるクラスを複数個交換可能な状態で設計するパターンです。Strategyは「戦略」を意味する言葉です。状況に応じて戦略を変えるように、この振舞いを司るクラスを切り替えるだけで、振る舞いを大きく変えることができるのが利点です。例えば、シューティングゲーム等で敵キャラクターの種類が同じでも動きが異なる、というように戦略だけを変えてくるイメージです。
 Strategyパターンでは、抽象クラスあるいはインターフェースにより戦略の元となる空の親クラスを設計します。この親クラスは上書き(オーバーライド)して用いることが前提となります。この親クラスから具体的な戦略をコーディングした子クラスを複数派生させます。切り替えさえ行えば、簡単に動作を切替えることが可能です。

用語集一覧へ戻る