パワポ資料を作る時の覚え書き

■DICotainerとはなにか

DI(Dipendency Injecction:依存性注入)Containerとは、以下の特徴を持ったコンテナコレクションオブジェクトの事である。

  • オブジェクト群を階層化してインターフェイス単位でフラットに格納する。
  • 外部から、格納したオブジェクトについて以下のルールが設定出来る。
    • オブジェクト同士の依存関係ルール
    • オブジェクトの初期化ルール
  • コンテナからオブジェクトを取得する際に、設定したルールに沿って個々のオブジェクトが初期化される。

外部からルールを設定する事を「injection(注入)」と呼び、依存関係を注入していることからDipendency Injection Container = DIコンテナと呼ばれる。

■インジェクションのバリエーション
インジェクションには以下の4種類がある

  • コンストラクタ・インジェクション
  • インターフェイス・インジェクション
  • セッター・インジェクション
  • メソッド・インジェクション

インジェクションは、コードで直接記述する方法と、XMLで記述する方法がある(DIContainer実装によって異なる)