ASP.NET で 3 層アーキテクチャの Web アプリケーションを構築したいと考えています。しかし、循環参照の問題が発生しています。
私は3つの層を持っています:
- UI を含むアプリケーション層。
- すべてのロジックとドメイン クラスを含むビジネス レイヤー。
- すべてのデータベース インタラクション メソッドを含むデータ レイヤー。
ビジネス層でデータ層メソッドを使用してデータベース操作を実行しています。これらのメソッドでは、ドメイン クラス オブジェクトをデータ層に渡す必要がありますが、循環参照のために実行できません。
たとえば、Person
いくつかのプロパティとメソッドを含むドメイン クラスがあります。今、それをデータベースに挿入したいと思いPerson
ます。Person クラスに という名前のメソッドがありInsertPerson()
ます。このメソッド本体では、データ層の関数を呼び出してデータベースに挿入する必要があります。しかし、データレイヤー参照がビジネスレイヤーに追加され、その逆は不可能であるため、個人オブジェクト全体をデータレイヤーメソッドに渡すことができません。
では、どうすればこの問題を回避できますか? 提案してください。