パターン、原則、DDD の本で、ドメイン モデルを完全にカプセル化したい場合は、そのプロパティを非公開にし、Mementoパターンを使用してそれらを読み取ることができると読みました。リポジトリがドメイン モデルのスナップショットを取得し、データベース モデルにマップしてその変更をデータベースに保存する例もありました。また、db からデータベース モデルを取得し、それをスナップショットにマップしてから、Factoryパターンを使用してスナップショットからドメイン モデルを再構成し、それを操作します。
- ファクトリやスナップショットを使用せずに、データベース モデルをドメイン モデルにマップするだけで、ここでどれだけの作業が行われるのか、少し混乱しています。これははるかに簡単ではありませんか?
この本に従うなら、ドメイン モデルのスナップショットをサービス レイヤーからプレゼンテーション レイヤーに戻し、それをビュー モデルにマップするのが正しい方法ですか? または、プレゼンテーション レイヤーでスナップショットを作成し、それをサービス レイヤーに渡し、ファクトリ パターンを使用してそこで再構成し、ドメイン モデルをリポジトリに渡します。リポジトリでは、再びスナップショットを取得してデータベース モデルにマップし、デシベル....
このような複雑なマッピング アーキテクチャを使用する必要がある場合の例を教えてください。
はるかに簡単にできるのに、複雑なコードを書いているような気がします。
アップデート
私が求めていることを理解しやすくするために、コード例を載せることができます。;)