从命令处理程序中的readmodel请求数据



我需要发送电子邮件到管理员列表作为响应从UI发送的命令。需要通知的管理员有从对读模型的查询中检索。

目前,从我的理解来看,我只有一个选项:在发送命令前收集所需的管理员并添加它们(名称/电子邮件对)到命令。

或者-是否可以从命令处理程序交叉到读取模型?感觉不太对,但我真的不知道还有什么别的办法这么做?

您没有说明如何实现命令端。我通常在命令处理程序中提供这些信息。然后,我根据添加到命令中的id查询数据源中的电子邮件和名称。您不需要遍历域模型来完成此操作。如果在命令端没有可用的数据,我认为通过服务从读取端收集数据没有什么大问题。我不会从域模型中这样做。

您根本无法从域中访问读取模型,因为您的域是临时的,而不是您的读取模型。您需要有在执行命令时收到的电子邮件列表:)

你可以,或者在触发邮件的命令中包含admin的邮件列表,然后它被持久化为事件和时间,或者你可以让你的域实体实例化其他域实体,将获得admin邮件列表。

假设您的命令正在抛出事件…

对我来说,正确的方法是使用一个单独的事件处理程序来捕获命令的事件并触发电子邮件的发送。您的事件处理程序将查询现有的读取模型以获取管理员列表。

使事情变得简单,因为您的命令处理程序不需要意识到这需要发送电子邮件给管理员。

您可以在概念上极端地为此设置一个单独的系统,该系统还处理管理员创建/删除的事件,存储在特定的读取模型中,纯粹是为了保存要发送电子邮件的管理员列表。

相关内容

  • 没有找到相关文章

最新更新