我一直在阅读 Eric Evans 的 DDD:Tackling Complexity in the Heart of the Software 和上下文映射部分,Evans 引用了一个使用翻译器集成它们的 2 个有界上下文(预订上下文和网络遍历服务)的示例。
如果我理解正确,当我们创建模型时,我们将所有内容放入有界上下文中,为领域创建概念边界。我的问题是:
如果一切都应该在有限的上下文中,那么翻译器应该位于哪里?在 Evans 的示例图中,翻译器位于两个有界上下文之外(介于两者之间)。
假设我们有一个团队在开发 ERP。应该将 ERP 置于多个有界上下文中还是仅置于单个上下文中。基于 Evans 的示例,设计了有界上下文,以便多个团队可以在他们自己的模型上工作。但既然这是一个团队,他们难道不会从单一模型中受益,因此集成不会成为问题吗?还是我理解错了?
在问题 2 的情况下,如果有多个有界上下文,如果在实现中,我们需要会计中的一个类在工资单中使用怎么办?我认为我们在这里不需要翻译,但我不确定如何分享所需的课程。只从另一个有界上下文中引用所需的类就可以了吗?
最后,DDD 中的模块如何与有界上下文相关联?