领域驱动设计最佳实践建议

  • 本文关键字:最佳 domain-driven-design
  • 更新时间 :
  • 英文 :


我有一组数据,这些数据要么在数据库中,要么在跨境服务中,比如说一堆活跃的产品。当我向应用程序进行查询时,有一条业务规则说,在提供响应之前,我必须检查它是否是该外部服务中的产品之一

我正在考虑流畅的验证查询验证请求,并通过依赖项注入将中介传递给验证器。这意味着现在我可以通过发出另一个查询来调用外部服务,并在请求到达处理程序之前验证请求。

示意图

请求查询A->验证管道->验证器->具有RequesQueryB->B处理程序->B响应->验证器->下一个验证管道->一个处理程序->AR响应

但不确定这是否是一个好的做法。请告知

跨越边界是一个基础设施问题,需要基础设施答案,而不是真正的业务规则。

您正在做的是跨边界上下文查询,有两种方法可以做到这一点:

  • CQRS
  • API成分

在API组合体系结构中,不能操作来自跨界服务的数据。在两个服务前面添加一个API网关,并让它进行聚合。

在CQRS体系结构中,您需要在服务之间有一个异步通信机制,这样您的当前服务就可以从外部有界上下文接收信息并维护本地副本。然后,您的服务可以从这两个上下文返回数据,尽管仅对本地内容具有权威性。

最新更新