DIコンテナ 【Dependency Injection container】

概要

DIコンテナ(Dependency Injection container)とは、ソフトウェア開発において内部のソフトウェア部品(コンポーネント)間の依存性の管理をうことができるようにするソフトウェア依存性注入(DIDependency Injection)を実現することができる。

複数のコンポーネントを組み合わせてソフトウェア構築する場合、単純に開発するとコンポーネントAのプログラム中でコンポーネントBを呼び出し、その機能を利用するという形式になる。これを「AはBに依存している」という。

このような単純な方式だとAとBの関係は固定的になり、AがBを利用していることは外からは直接分からなくなる。テスト時など一時的にBに似た機能のB'を利用したい場合でも、いちいちAの内部のコードを書き換えなければならない。

依存性注入の考え方では、AはBを直接呼び出さず、Bに相当するコンポーネントを外部から受け取ってこれを呼び出すようにプログラムする。これにより、Aを直接修正しなくても実行時にBを与えるかBと同じように振る舞う別のコンポーネントを与えるか選択できるようになる。

この依存関係の管理を外部からえるようにするためのソフトウェアがDIコンテナで、開発者は設定ファイルなどの形でコンポーネント間の依存関係を記述したり編集することができるようになる。著名なDIコンテナの多くはJava言語向けに開発されており、Spring FrameworkSeasar2、Google Guiceなどがよく知られる。

(2020.8.31更新)
この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。
ホーム画面への追加方法
1.ブラウザの 共有ボタンのアイコン 共有ボタンをタップ
2.メニューの「ホーム画面に追加」をタップ
閉じる