如果我理解正确,您只想从另一个BC查询一个BC,以确保是否允许某些操作?
通常从另一个BC调用另一个服务,就像使用外部API一样。 所以我会这样做。
拥有BC的重点是保持事物分离。 BC1和BC2是陌生人。如果他们分享语言,他们应该是一个BC。 BC不需要对另一方知道“少”或更多。查询另一个BC只是后来要求麻烦。
BC都可以通过域事件进行通信。当一个BC更改域事件(DTO)发布而另一个BC可以处理它时,在本地(在其BC内)存储它需要什么数据(在您的情况下,它意味着存储,如果客户有自定义协议/债务计划或其他事项那个BC要求做它的工作)。这样,每个BC只能使用它自己的模型而且它是自治的。
将BC作为远程服务进行处理是不可取的,因为您只需将BC1耦合到BC2,这会损害可维护性,性能,可用性和可伸缩性。