Hatena::Grouparaistudy

czk-htnの日記

2009-04-11

[][] オープンソース徹底活用WicketによるWebアプリケーション開発 - 14日目(第9章 DIコンテナ06:45

IoCコンテナ/DIコンテナ

これが最終章。ちょうど2週間かかったわけだ。本の題名を「2週間で覚えるApache Wicket」に変えてもいいかもしれない。余計なお世話ですね。

日本ではDIコンテナDependency Injection:依存性注入)と呼ぶ機会が多いけど、海外ではIoCコンテナと呼ぶらしい。IoCはInversion of Contorol(制御の反転)という意味。

一般的にはオブジェクトを使う側(アプリケーション)がオブジェクトを管理する側(コンテナ)からオブジェクトを取得する(プル方式)わけだけど、IoC「制御を反転」することでコンテナからアプリケーションオブジェクトを注入する(プッシュ方式)ことになる。

これによりアプリケーションJavaインターフェース中心のプログラムを行い、インターフェースを実装している具体的なクラスおよび実体の管理はコンテナに任せる(疎結合)ことができる。

代表的なDIコンテナ

こう見るとWicket哲学にあっているのはGuiceみたい。今後Webアプリケーション開発する際に基本Javaのみでシステムを制御したい時の選択肢は「Wicket + Guice + S2JDBC?」S2JDBCってSeasarなしで単体で使える?ORマッパーでXMLレスを謳っているのは他にあったっけ?

参考URL

トラックバック - http://araistudy.g.hatena.ne.jp/czk-htn/20090411