データベース内の各テーブルに対して標準でアプリケーションを作成する場合、次のプロパティCreatedOn
があります。CreatedBy
ModifiedOn
ModifiedBy
Archived
しかし、DDD に従おうとすると、これらのプロパティが本当にドメインの一部であり、ドメイン オブジェクトに含める必要があるかどうか疑問に思っています。これらの「メタデータ」プロパティをドメインから除外するが、それでもデータベースに残したい場合、ORM を使用する場合は何らかの DTO レイヤーを実装する必要があります。
したがって、ドメイン モデルは DTO にマップされCreatedOn
、ModifiedOn
、 などが設定されてから、データベースにプッシュされます。
だから私は私の質問は次のとおりだと思います:
- ドメイン モデルの一部としてこれらのプロパティを使用するだけですか?
- それらを削除しても、DTO をマップしなければならないという頭痛の種がありますか?
- 何らかの形式の監査ログを実装するなど、両方の問題を解消する代替手段はありますか?