解决方案中的哪个项目要添加跨越两个聚合的域服务?

Which project in a solution to add a Domain Service that spans two aggregates?

我目前在一个 Visual Studio 解决方案中有两个项目。每个项目代表不同的聚合。我需要添加一个与两个聚合根交互的域服务。我应该将它添加到哪个项目?有关系吗?

如果你的聚合根都属于同一个限界上下文,那么你的聚合根可能应该在同一个项目中;否则域服务可能位于另一个引用两个聚合根项目的项目中,但很快就会变得笨拙。每个限界上下文一个域项目就足够了。

但是,如果两个聚合根位于不同的限界上下文中,那么 "easiest" 将使用某种形式的消息传递,并让编排层中的流程管理器处理各种限界上下文端点之间的交互.为此,我通常有 BC 特定的编排端点和 BC 特定的 "functional" 端点,其中功能端点处理 BC 特定的功能。然而,特定于 BC 的编排端点包含特定于 BC 的流程管理器,但通常与来自它需要实现服务的任何 BC 的其他功能端点交互。

假设您正在开发ui电子商务应用程序。在您创建产品的情况下,数据应由 ui 属于其有界上下文(运输,发票)(如鬣狗)的微控制器分解,并将他们感兴趣的信息发送到有界上下文数据存储以备将来使用发挥他们的能力。作为一个运输独立模块,为了计算运输成本,我需要产品重量,因此当用户在 UI.

上输入该数据时,我应该撕掉该信息

https://www.youtube.com/watch?v=hev65ozmYPI - 看看这个 link。