S2Container.NET は S2Container と Quill という2つの DIContainer を提供しています。 それぞれの特徴は下表の通りです。
S2Container | Quill | |
---|---|---|
生い立ち | 従来の Java から移植された DIContainer | S2Container.NET オリジナルの DIContainer |
設定方法 | XML(Dicon ファイル) | 属性 |
機能 | Quill に比べると多機能 | ステートレスな業務ロジックを構築する為の最小限の機能 |
インスタンスモード | singleton, prototype, request, session, outer | singleton |
DI の種類 | コンストラクタ・インジェクション, プロパティ・インジェクション, メソッド・インジェクション | フィールド・インジェクション |
AOP の 種類 |
RealProxy(透過プロキシ), DynamicProxy(型の拡張) | DynamicProxy(型の拡張) |
使い分け | Java の Seasar2 の利用経験が有り同じように利用したい場合や、細かく DI を制御したい場合、 Dicon ファイルを置き換えることで実装を切り替えたい場合 | シンプルな DI と AOP 利用したい場合(細かく DI を行いたい場合は Quill をカスタマイズするか S2Container のコンポーネントを呼び出すことができます) |
S2Container に関するドキュメントは下記の目次を参照してください。 Quill に関するドキュメントは「Quillで簡単DI+AOP」を参照してください。
※Seasar.NETプロジェクトでは Quill を推奨しています。
※DBFlute.NETでは Quill のみをサポートしています。