DI(Dependency Injection)について

現場で使っていて、
最近新規参画したメンバーに教える機会があったので、
あらためて自分でも整理してみた。

ちなみに、自分が経験したことのあるDI方法(注入タイプといったりする)は
もっぱらインタフェースによる注入。
インタフェースを実装するクラスにアノテーションをつけたりして、
XMLやテストクラスで実行するクラスを指定している。

■使ってみてのメリット
・ソースをいじらずにモックを使用したい箇所や未実装の箇所をスタブに置き換えられる。

今のところ、なかなか深まっていない。。
もっと深い気はするんだけどなぁ。

ちなみに、いろいろな記事を読んでもなかなかしっくりこず、
一番しっくりきた記事はwikipediaだった。。
http://ja.wikipedia.org/wiki/%E4%BE%9D%E5%AD%98%E6%80%A7%E3%81%AE%E6%B3%A8%E5%85%A5