私はこれについて数ヶ月頭を悩ませてきましたが、それでも自分が正しい答えを持っていることを十分に納得させることができました. アプリケーションの複数のレイヤー間に依存関係があり、各レイヤーが独自のアセンブリにある、非常に典型的な状況があります。例として、アプリケーション レイヤーはリポジトリ レイヤーを使用して、非常に標準的なデータを取得します。私の質問は、抽象化 (この場合はインターフェイス) がどこにあり、その理由は何ですか? 与えられた例では、アプリケーション層またはリポジトリ層または別の抽象化アセンブリに入れる必要がありますか?
The Clean Architecture の説明の図と説明に基づいて(特にこだわっているものではありません)、すべての依存関係が内側を向くようにアプリケーション層に配置しましたが、これが正しいかどうかはわかりません。私はかなりの数の他の記事を読み、数え切れないほどの例を見てきましたが、抽象化がどこにあるべきかについて推論する方法はほとんどありません。
私はこの質問を見てきましたが、もちろん実際の答えが問題ではない場合を除き、それが私の質問に答えているとは思いません。