CommandとStrategy
CommandパターンとStrategyパターンは何が違うのか考えてみた。静的に見れば(クラス図で見れば)両方同じだけど、それぞれ目的が違う。
- Commandパターンは「やること」が色々あるときに使う。
- Strategyパターンは「やりかた」が色々あるときに使う。
こういう理解でよいでしょうか?(誰に聞いてる)
【追記】さわださんからツッコミ。ありがとうございます。
Command パターンを使うのは要求をカプセル化したいとき。Strategy パターンはアルゴリズムをカプセル化したいとき。
「要求」(結城さんのデザパタ本だと「命令」)・「アルゴリズム」を言いかえようとした結果「やること」・「やりかた」と思いついたんですが、「要求」なんだから「やること」ではなく「やらせること」ですね。つい語呂の良さに惹かれて書いてしまいましたが、本質を分かってない証拠か。全然理解が足りないぞ>自分。