新しいアプリケーションでは、タマネギのアーキテクチャに従うことを計画しています。
ソリューションの階層は次のとおりです
- ドメイン-サービスとリポジトリのすべてのインターフェースが定義されている場所。
- インフラストラクチャ-これは、すべてのデータアクセスが配置されるレイヤーです。これらのクラスは通常、ドメインで定義されたインターフェースを実装します。
- Web-これはアプリケーションの私のプレゼンテーション部分です。同じレイヤー内に、ドメインで定義されたサービスを実装するための別のフォルダーがあります。
私の計画は、依存性の解決に依存性注入を使用することです。当初、私はDI関連のコードをインフラストラクチャに配置することを考えました。しかし、問題は、サービスをマップするときに循環参照につながることです。実際のサービスの実装は私のWebプロジェクトにあり、Webプロジェクトはすでにインフラストラクチャを参照しているためです。Onion Architecture(推移的な依存関係)の原則に違反しているため、具体的なサービスを別のレイヤーに移動することはできません。
どんなリードでも大歓迎です。