LiQ Container は Java で記述された、シンプルな汎用のファクトリフレームワークです。 LiQ Container は Dependency Injection パターンの考え方に基づき、 互いに依存するクラスのインスタンスを、 それらを生成するためのインタフェースに依存することなく生成することができます。
LiQ Container が達成したい目標は、以下のようなものです。
あるクラスのインスタンスを生成するときに、必要なオブジェクトが何か自動的に計算し、 インスタンスに設定できます。 デフォルトでは、コンストラクタ、パブリックメソッド、 パブリックフィールドに対する Injection がサポートされています。
LiQ Container は XML による設定ファイルを持たず、全ての設定をJavaコードで行います。 LiQ Container の API は、Javaコードで書かれた設定が、 いかにも設定らしく宣言的に見えるように、かつ簡潔に記述できるように工夫して設計されています。
Java で設定を書くことによって、eclipse などの IDE が持つコード補完やリファクタリングなどの機能を活用できるようになります。
中心となるクラスである、Container を生成するコストが非常に低いので、 例えば、HTTPリクエスト毎に Container を生成する、といった使い方が可能になります。
コンポーネントのインスタンスを生成する方法、 依存オブジェクトを生成したインスタンスに設定する方法は自由にカスタマイズ可能です。
外部ライブラリに依存していません。 Java 5.0 以上さえあれば、どこでも動きます。
リリースされたファイルは以下のリンクからダウンロードできます。
http://sourceforge.net/project/showfiles.php?group_id=180140
もし何か質問や、問題がある場合は、以下のフォーラムに投稿してください。
どのようなフィードバックでも大歓迎です!