DIの履歴
Dependency Injection。依存性注入
オブジェクト同士を関連させる場合に、直接指定して強く結合させるのではなく、別のコンテナに依存させる方法。
コンポーネント間の依存性をDIコンテナが受け持つ
コンテナには設定ファイルがよく使われる。
DIコンテナのメリット
http://bagineer.blog59.fc2.com/blog-entry-21.html
1.オブジェクト間の直接的な依存関係を排除でき、オブジェクトの再利用性や保守性が高まる。
2.アスペクト指向技術との組み合わせによって、トランザクション管理
と言った非業務ロジックを任せることができる。
3.インターフェースベースの設計が促進され、オブジェクトの責務が明確化すると共にシステムの品質向上に繋がる。
4.モックやスタブへの切替えが用意になり、ユニットテストがし易くなる。