定義とか
一連のアルゴリズムを定義して、それぞれをカプセル化してそれらを交換可能にします。
クライアントと独立してアルゴリズムを変更できます。
感想
関数オブジェクトらしい。。。とのことでやってみた。
Strategy = 戦略 = アルゴリズム
アルゴリズムをオブジェクト化して簡単に挿げ替え可能にする、、みたいなパターン…ってことで合ってるかな?
実際の振る舞いのアルゴリズムをStrategyのコンクリートクラスたちに委譲。。みたいな。
個人的にはこれも好きなパターンかな。
なんとなく強い結びつきと弱い結びつきのニュアンスの違いがわかってきたような気がする。
サブクラスは気軽に親クラスを変えられないからね。
委譲なら簡単に挿げ替え可能…
ってことでしょ?😝
最近のコメント