阅读 CQRS 有很多关于电子邮件通知的讨论——我想知道从哪里获取数据。想象一个场景,其中一个用户邀请其他用户参加一个活动。为了通知用户他已被邀请参加活动,他会收到一封电子邮件。
具体步骤可能是这样的:
CreateEvent
服务器接收到具有要邀请的相关用户集合的命令。- 创建一个新的
Meeting
聚合,并InviteUser
为每个被邀请的用户调用一个方法。 - 每次邀请用户参加某个事件时,
UserWasInvitedToEvent
都会引发一个域事件。 - 电子邮件通知发件人接收域事件并发送通知电子邮件。
现在我的问题是:我在哪里可以找到包含在电子邮件中的信息?
假设我想包含事件描述以及用户名。由于这是 CQRS,我无法通过我的域模型得到它;域对象的所有属性都是私有的!然后我应该查询读取端吗?或者也许将电子邮件通知完全移动到不同的服务?