人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Javaの勉強をしています。DIコンテナってなんですか?教えてください。

●質問者: jclew
●カテゴリ:コンピュータ 学習・教育
✍キーワード:DIコンテナ Java 勉強
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● junkitch
●10ポイント

http://tech.tafc.co.jp/archives/java/cat43/index.html

Enjoy Technology Life

DI(依存性注入)とは、「オブジェクト間の繋がりを別に注入する」

ということです。どういうメリットがあるのかと申しますと、


o1 = new Object1();

o1.setValue(1);


なんていうソースを書いた場合、このソースを書いたクラスと、

Object1クラスの間にはクラスの依存関係が生じます。

もし、Object1クラスをObject2クラスに変更したい場合は、

ソース自体を書き直す必要があります。


そこで、DIコンテナに任せてしまおうという考えが登場します。

オブジェクト間の依存関係を別のところに定義しておいて、

生成や値のセット等を自動で行ってしまおう…ということです。


私の理解で少し書いてみましたが、不備もあるかもしれません。

本当に勉強しようと思うのなら、書籍で調べてみるのも手です。

http://www.amazon.co.jp/exec/obidos/ASIN/4839917779/249-2924466-...

「Light Weight Java」という本ですが、とてもよい本です。

DIの説明から、JSF/Hibernate/Springまで幅広く扱っています。

私個人としてはとてもお勧めの本なので、御一読されてみては?


2 ● fujinoko
●20ポイント

http://suga.parfe.jp/tech/seasar2/DIContainer.html

DI コンテナ

http://www.sharedvine.com/tech/spring/

SHAREDVINE - JAVAプログラミング

これでどうでしょうか

◎質問者からの返答

読みました1つめのサイトは図が多くとてもわかりやすかったです。ありがとうございました。

DIコンテナを使うと依存関係を完全に排除することができる理由がわかりません。さらにわかりやすく説明しているサイトがあれば追加でお願い致します。

また、ただサイトの引用だけでなく、あなたなりの説明を少し加えていただけるとさらに嬉しく思います。次の回答者の方はそのあたりも注意していただけると嬉しいです。

回答ありがとうございます。


3 ● tyousann
●30ポイント

http://www.aura-media5.com/column/data/column_b/1124353481.html

『DIコンテナ』

DIコンテナの DI とは、 Dependency Injection(依存性の注入) の略です。

軽量コンテナとも呼ばれます。

http://itpro.nikkeibp.co.jp/free/ITPro/OPINION/20050216/156274/

Java開発を変える最新の設計思想「Dependency Injection(DI)」とは:ITpro

「DIする」,「インジェクション(注入)する」──新しい技術に敏感なソフトウエア開発者たちの間で使われている言葉である。DIとは,「軽量コンテナ」を実現する新しい設計思想Dependency Injection(依存性注入)の略称である。同じ概念をIoC(Inversion of Control,制御の反転)と呼ぶ場合もある(詳細は後述)。「DIする」と言えば開発者の間では通用するぐらいに,この設計思想は注目されているのだ。

◎質問者からの返答

よくわかりました。ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ