在为数据库中的每个表按标准编写应用程序时,我具有以下属性:CreatedOn
, CreatedBy
, ModifiedOn
, ModifiedBy
, Archived
.
但是尝试遵循 DDD 我质疑这些属性是否真的是域的一部分并且应该包含在域对象中。如果我要从域中排除这些“元数据”属性,但仍希望它们在我的数据库中,那么如果我要使用 ORM,我需要实现某种 DTO 层。
因此,域模型被映射到 DTO,设置CreatedOn
,ModifiedOn
等,然后推送到数据库。
所以我想我的问题是:
- 我是否只是将这些属性作为我的域模型的一部分?
- 我是否删除了它们,但不得不映射 DTO 感到头疼?
- 是否有替代方案可以消除这两个问题,例如实施某种形式的审计日志?