MVC アプリケーションを階層化するためのさまざまなパターンを研究しており、少しアドバイスが必要です。私が現在持っているものは次のとおりです。
1)POCOドメインモデル、ビジネスロジックがまったくないため、基本的に貧弱なドメインモデル。
2) ドメイン オブジェクトを返すリポジトリ レイヤーを備えた EntityFramework。
3) サービス レイヤー。これがアプリケーション サービス レイヤーなのかドメイン サービス レイヤーなのかはわかりませんが、基本的にはドメイン モデルに対する API です。すべてのビジネス ロジックはこの層にあり、ドメイン オブジェクトが有効であることを保証し、それをリポジトリに渡して EF 経由で DB に永続化します。
4) ASP.NET MVC アプリケーション。このアプリケーションはサービス層と対話して、必要なオブジェクトを取得します。
ドメイン モデルとの対話の単一ポイントを提供するので、これがどのように機能するかは気に入っていますが、サービス レイヤーと mvc アプリケーションの間にレイヤーが必要だと思います。この層の役割は、ビューが必要とする正確なデータを取得するためにコントローラーが対話できるビュー モデルとの間でドメイン オブジェクトを変換し、データが入力されたドメイン オブジェクトをサービス層に戻すことです。これはアプリケーション サービス レイヤーで、上記のサービス レイヤーはドメイン サービス レイヤーですか?
AutoMapper を使用してドメイン オブジェクトをビュー モデルに取り込みますが、それらをドメイン オブジェクトに戻す標準がわかりません。
アドバイスやアイデアは素晴らしいでしょう。