【发布时间】:2016-12-19 21:35:05
【问题描述】:
我刚刚阅读了 Vaughn Vernon 的《实现领域驱动设计》一书,我对限界上下文如何与应用程序保持一致感到有些困惑。
一个应用程序中可以有多个有界上下文吗?如果是这样,是什么决定了一个上下文应该与另一个上下文一起部署,还是应该作为一个独立单元部署?
如果我在一个应用程序(部署单元)中有多个有界上下文,并且客户端(例如 UI)同时需要来自多个上下文的信息,我是否应该创建一个新的应用程序服务以支持这种情况?
【问题讨论】:
-
您可以有多种集成方法。 UI 可能属于或不属于特定上下文。您可以拥有复合 UI,其中 UI 是通过聚合属于并在不同 BC 中维护的多个组件构建的。您可能还拥有一个与多个 BC 通信或在后端执行聚合的 UI。所有的集成方法都是可行的,并且各有利弊。您可能想阅读《领域驱动设计的模式、原则和实践》,其中有一章介绍了这一点。