06/10/07 10:43:04
>>438
インターフェイスに依存するということは、実装は切り替えられるということ
LLのように動的にオブジェクトの構成を変更できる言語と違って
Javaのような言語は、どうしてもインターフェイスは固定しておかなければならない
だからJavaの場合、インターフェイスはかっちり決めて実装を簡単に変更できる
ようにしておくと便利。当然、インターフェイスがしっかり決まらなければ意味無いけど
Seasarの自動登録機能を使ってると、どうしても「インターフェイスに実装が一つ」の方が
楽になってくるのは確かだね。本来のDIコンテナの意味を考えると、自分も少し矛盾を感じてる
同一インターフェイスに複数の実装を登録した時点で、どれを登録するかをコンポーネント名
などで設定してあげる必要がある。設定ファイルが無いとアノテーションやsetter名で選択する
ことになるから、結局実装依存性がわずかながら生まれてきてしまう。
Springが設定ファイルに拘るのはそこらへんが原因なのかも