ASP.NET MVC プロジェクトで DI を行うために StructureMap を使用しています。ライブラリを次の 3 つの dll に分割しました。
- 芯
- サービス
- データ (リポジトリを含む)
コアには単にすべてのインターフェースとサービスが含まれ、データにはそれらの実装が含まれます。
ここで、Web サイトで StructureMap をセットアップするときに、コア インターフェイスの実装が含まれているサービスとデータ アセンブリをスキャンするように指示する必要がありますが、これは、サービス プロジェクトに依存しますが、Web プロジェクトで両方を参照する必要があることを意味します。のみ、データ プロジェクトに依存します。
Web プロジェクトでこれら 2 つの dll を参照することは、抽象化の利点を損なうため意味がありませんか?
これらのアセンブリを参照する必要があるかどうかを説明してください。そもそも別のインターフェイスを使用する利点は何ですか?