【发布时间】:2020-12-17 13:43:56
【问题描述】:
我想知道这是否是 DDD 反模式。我的电子商务应用程序中有两个限界上下文:Inventory 和 Sales Order。销售订单上下文需要库存上下文中的可用库存水平才能预订订单。下达销售订单后,它需要让 Inventory Conext 知道,以便为该库存项目保留/分配库存。这导致双向通信。在一种情况下,库存在上游,在第二种情况下,它在下游。
【问题讨论】:
我想知道这是否是 DDD 反模式。我的电子商务应用程序中有两个限界上下文:Inventory 和 Sales Order。销售订单上下文需要库存上下文中的可用库存水平才能预订订单。下达销售订单后,它需要让 Inventory Conext 知道,以便为该库存项目保留/分配库存。这导致双向通信。在一种情况下,库存在上游,在第二种情况下,它在下游。
【问题讨论】:
双向通信不是反模式。 如果您想象这样一种情况,您将域视为参与者并相互协作,您将看不到任何特别之处。
【讨论】:
模块化的问题是你需要低耦合和高内聚。双向通信表明耦合,因此如果在有界上下文之间经常发生这种情况,您可能需要重新考虑分区。但是系统需要各个部分之间进行通信,所以它是通用的,而不是反模式。
【讨论】: