域驱动设计 – 何时更新审计字段? DDD

前端之家收集整理的这篇文章主要介绍了域驱动设计 – 何时更新审计字段? DDD前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个会议对象:

会议{id,name,time,CreatedBy,UpdatedBy}

和a

MeetingAssignee {id,MeetingID,EmployeeId,UpdatedBy)

Meeting,作为Aggregate root,有一个方法AssignEmployee.

当我调用AssignEmployee时,我正要将当前用户传递给Meeting对象,以便它可以相应地更新其审计字段.

但这似乎不对 – 是吗?显然,我可以公开审计字段并在以后更改它们 – 也许是在服务级别?

什么是每个人更新这些字段的首选方法

请注意:我们没有使用Nhibernate,而是一个自定义的ORM,没有任何自动化的东西.

谢谢.

解决方法

审计和日志记录很有趣,因为它们通常在应用程序的任何地方都需要,并且它们都是要求(日志记录是OPs人员的要求).

在不了解您的模型的情况下,由于审计必须是一项要求,我会将当前用户传递给AssignEmployee,而不是在那里有一条说明AuditBlahBlahBlah的行,我会添加一个事件(也许是MeetingUpdated或AssigneeAdded …你会找到一个好名字)并将该事件分派给执行审计的类.通过这种方式,Meeting类没有关于审计和调度业务事件的线索,以用于审计目的(在我看来,这是非常DDDish).

我想知道其他人会怎么说(希望我能学到新东西!)

猜你在找的设计模式相关文章