最近読んだ記事、"Use Inversion of Control in method signatures"

DeveloperWorksに上記の記事(http://www.ibm.com/developerworks/java/library/j-ioc/)が掲載されていたので読んでみました。メソッドの引数をValue Objectにする代わりにinterfaceにして実装はIoCコンテナの機能を利用して与える方法が簡単に紹介されています。コンポーネントを呼び出す側にdependency componentが注入されるようになるというものです。この方法を使うと呼び出し側が使おうとしているコンポーネントのメソッドの引数の型を気にしなくてよいこと。パイプラインパターン(カートを見に行って、次にDBを参照し、、、、価格を計算のような順次に行われる一連の処理)では特にメリットがあること。などが書かれていました。
メソッドの引数にinterfaceの型を指定するのは特に目新しいものではありませんので、ここにもIoCを使えるよ、というちょっとした提案という感じの記事でしょうか。ぜひ読むべきというほどではないですが、このような設計にしたいときのinterface定義の小技は参考になるかもしれません。