2

IoC を使用してデータ アクセス ライブラリを実装するビジネス オブジェクト ライブラリがあるとします。データ アクセス インターフェイスはどこで定義する必要がありますか? それはどの図書館に属していますか?それとも、インターフェイス専用の別のライブラリにある必要がありますか?

4

1 に答える 1

3

ビジネスドメイン内のインターフェイスを定義します。次に、インターフェイスの実装は、ビジネスドメインを参照するライブラリに含まれます(アプリケーションコンテキストが何であれ、またはアプリケーションコンテキストによって参照されるIoCライブラリによって参照されます)。

次に、ある実装を別の実装と交換することは、別のライブラリを作成し、アプリケーションコンテキストで参照を交換することだけです。

.NETプロジェクト構造では、次のようになります。

ドメインロジックプロジェクト
    (参照なし)
    ドメインモデル
    リポジトリインターフェイス
    IoCサービスロケーターインターフェイス
リポジトリプロジェクト
    (参照ドメインロジックプロジェクト)
    リポジトリ実装
IoCプロジェクト
    (参照ドメインロジックプロジェクト)
    (参照リポジトリプロジェクト)
    IoCサービスロケーター実装
    IoCブートストラップ
アプリケーションプロジェクト
    (参照IoCプロジェクト)
    (ドメインロジックプロジェクトを参照)
    (リポジトリプロジェクトを参照する必要がある場合がありますが、不明です)
    ドメインモデルと対話するUIを実装します

于 2011-03-21T21:59:47.150 に答える