Strategyパターン

2020/11/01 06:43

GoFデザインパターンのStrategyパターンをコードを見て理解しましょう。状況に応じて一部のロジックを差し替えたい場合に重宝します。12分の動画です。

Strategyパターンとは

クラスの利用方法を変えることなく、状況に応じて一部の内部ロジックを切り替えたくなるような場合に、それぞれのロジックを共通のインターフェース( Strategy Interface )を持つクラスとして作成し、ロジッククラス( Concrete Strategy Class )のインスタンスをコンポジションとして利用して切り替えます。

内部ロジックを切り替えるのに煩雑なif文を書くような事が不要になり、それぞれのロジックの種類ごとにクラスを作成する事でロジックの凝集が促進されます。

類似するパターンとの関係

下記のパターンと類似性、関係性が見られます。イメージできるとそれぞれのパターンについての理解が深まるでしょう。

解説に利用したコード ~ Sample code ~

https://github.com/CircleAround/pgonline/blob/master/src/20201024storategy/20201024storategy.ts