领域驱动设计中每个实体的创建日期、编辑日期、创建日期和修改日期属性

本文关键字:创建日期 日期 属性 修改 编辑 实体 | 更新日期: 2023-09-27 17:50:48

应用程序中的每个实体都需要这些属性。如何使用DDD原则实现这一点?

同样,如果我希望管理员能够对每个实体发表评论,该怎么办?

领域驱动设计中每个实体的创建日期、编辑日期、创建日期和修改日期属性

例如,您可以为封装审计的所有类使用一个通用的层超类型。从EAA的书P:

一个层中的所有对象都有你不希望在整个系统中重复的方法,这并不罕见。您可以将所有这些行为移动到一个通用的层超类型。

这样就可以很容易地根据需要更新这些字段。

另一种可能更简洁的方法是将审计日志添加到存储库中,因为这些事情显然是基础设施的问题。特别是,如果"由"用户在您的域中没有表示,而是您的应用程序的"用户"。

例如,您的存储库实现可以将审计日志(由命令创建、修改)存储在数据库中单独的审计日志表中。