需要外部系统信息的命令

问题描述 投票:0回答:1

假设我正在实现一个使用事件源管理股票和投资组合的应用程序。我有以下命令:

  • CreatePortfolio
  • BuyStocks
  • SellStocks
  • ClosePortfolio

最后三个命令的处理需要股票价格。我通过 API 接收命令。我应该接受来自 API 的 DTO 中的股票价格,还是应该在将命令传递到应用程序的事件源核心之前在service组件中检索它?

architecture domain-driven-design cqrs event-sourcing event-driven
1个回答
0
投票

我是否应该接受来自 API 的 DTO 内的股票价格

您收到的消息是否来自可信来源,并且永远不会提供与您自己收集的信息不同的信息?

那你可以考虑一下。

在大多数情况下,您需要自己获取所需的值。理想情况下,您可以在处理 I/O 的位置获取信息,并将信息传递到域逻辑(从根本上讲,域逻辑并不关心信息来自何处)。

在某些情况下,您不一定知道域逻辑将需要哪些信息,因此您可以 (a) 将请求信息的功能传递给域逻辑——通常以“域服务”的形式“或者 (b) 设计一个协议,以便您的域层可以在需要时请求信息,并让应用程序代码找出从哪里获取它。

© www.soinside.com 2019 - 2024. All rights reserved.