检测域对象的更改

时间:2011-05-17 18:26:23

标签: domain-driven-design dns

有一个实体:客户,如果客户更改了他的名字(通过Web UI),客户服务必须检测到此更改并向管理员发送电子邮件。

现在应该将此责任分配给客户吗?像

这样的东西

c.HasChangedName(新名称);其中c是对客户的引用

CustomerService可能会根据对Customer实体的此类更改进行其他活动。电子邮件只是一个例子。

1 个答案:

答案 0 :(得分:4)

根据我的观点,客户聚合根(我认为它是聚合根而不是实体)应该在

中发布CustomerNameChanged事件
customer.ChangeName(string newname) 

方法调用。

你可以在Greg Young的github存储库中查看some implementation sample。 或者,如果您不想使用事件采购,您可以查看Udi Dahan的post about domain events

相关问题