Strategy

一覧を表示する画面で、いくつかのソート順に切り変えられるようなものを作ろうとした場合。
ソート順ごとにDaoのメソッドを作成して、呼び出し側はどのメソッドを使うかを分岐して選択するというやり方もありますが、条件分岐はちょっとやだなぁと思いました。
そこで、呼び出すメソッドを選択する所をStrategyにすれば、呼び出し側のコードが共通になるしソート順のパターンが増えても簡単に対応できそうだと考えました。
ただ、通常のDIで解決できる依存関係は静的なものだけなので、Strategyのように動的な依存関係に関しては少し工夫する必要がありそうです。
それと、Strategyのオブジェクトを生成するパターンも同時に考慮しなければ呼び出し側が共通にならなそうですね。

これから出かけるので続きはあとで〜

(追記)
ひがさんがDIとStrategyパターンについて書かれています。
いつも思うけどひがさんの解説ってシンプルでわかりやすい。見習わなければ。
これを参考にサンプル作ってみようと思います。