Subject   :DI(Dependency Injection)

カテゴリー  : 情報産業・技術  


 DI(Dependency Injection)
DI(依存性注入)とは、オブジェクト間で依存性のあるコードを実行時に注入するという設計思想。

従来のEJBに採用されたEntity Beanの使いにくさを解消するため、「軽量コンテナ」と呼ばれるアプリケーションサーバ群が登場した。軽量コンテナの例として、最も利用者の多い「Spring Framework」や、簡素な「PicoContainer」、アクセスと結合が容易な「HiveMind」、国産の「Seasar2」などがある。Java開発を変える最新の設計思想といわれ、ソフトウェアの開発サイクルを大幅に改善すると期待されている。

オブジェクトが他のオブジェクトを利用するコードを「依存性」と捉え、これらの依存性をもったコードを実行時に注入するため、依存性注入と呼ばれる。従来から同様の思想は存在し、IoC(Inversion of Control:制御の反転)と呼ばれていたが、軽量コンテナの登場により、著名なソフトウェア設計コンサルタントであるThoughtWorks社のMartin Fowler氏が命名した。

DI思想による軽量コンテナはEJBの使いにくさを解消するために登場したもので、EJB 3.0で正式に採用された。Spring Frameworkの.NET版である「Spring.NET」や「NSpring」も登場している。

● 「IT用語辞典e-Words」(http://e-words.jp/)の記述
DIとは、コンピュータプログラムのデザインパターンの一つで、オブジェクトなどの間に生じる依存関係をオブジェクト内のコードに直接記述せず、外部から何らかの形で与えるようにする手法。


[メニューへ戻る]  [カテゴリー一覧]  [HOMEへ戻る]  [前のページに戻る]