いまさらながら DI の感想

DI(Dependency Injection) は、クラス間の依存性をコンテナによって管理する。
インスタンスの生成はDIコンテナでおこない、極力自分では行わないようにする。

  • DIで管理するのは設定。
  • DIで管理するのはインスタンス
  • DIでインターフェース経由で実装を呼び出す。

DIでロジックをインスタンス化して、必要なタイミングで呼び出すような仕組になるのかな。
はじめは、バリューオブジェクトを管理するものだと勘違いしていたけれど、バリューオブジェクトは、
DIコンテナで管理されているDAOのロジックを利用して生成するものであって、DIコンテナ自身が
管理するものではないらしい。

DIを使っても、まだ完全じゃない。注意点がいくつかある。

  • DIコンテナに依存する。
    • 当り前だが、DIコンテナを使わなければDIは実現できない。
    • 標準化されていない。
  • 以下は解決しつつあるように思えるがいちおうあげておく。
    • 実行しないと設定ミスが分からない。
    • Javaソースコードを読むだけでは処理をたどれない。