微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

域驱动设计 – 何时更新审计字段? 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).

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐