19

有界上下文是跨越所有应用层(领域、应用、表示和基础设施)还是只是领域模型?例如,我应该使用以下结构:

<bc 1>
 |_ domain
 |_ application
 |_ presentation
 |_ infrastructure
<bc 2>
 |_ domain
 |_ application
 |_ presentation
 |_ infrastructure

或以下内容:

domain
 |_ <bc 1>
 |_ <bc 2>
application
presentation
infrastructure
4

3 回答 3

12

两者都是有效的方法。我倾向于第一个选项,因为它允许更高级别的 BC 更好的模块化和非常清晰的边界。第二个选项是这样做的“标准”方式,它有利于让我们说更多的技术分层,而第一个选项实际上有利于更多领域驱动的分层。

选择你觉得更舒服的那个。

于 2012-10-31T19:14:52.663 回答
2

做你认为合适的事。每个有界上下文都有不同的域,当然也有不同的应用层,但我们可以想象一个通用的基础设施层或表示层。这实际上取决于您的架构选择以及您尝试构建的应用程序。

如果您想要更准确的答案,请在您的问题中添加一些材料,以便我们了解您的背景和您的问题。

于 2012-10-31T18:56:15.977 回答
0

我认为这不是关于 DDD 的问题,而是关于架构的问题。有界上下文之间的哪种耦合对您来说是可接受/理想的。

如果您所有的有界上下文将:

  • 用一种编程语言开发
  • 访问相同的数据库引擎
  • 由一个相对较小的团队(最多 20 人)开发

那么可能您应该采用第二种方法 - 每个有界上下文都包含自己的域和应用程序层,并且所有有界上下文共享相同的基础架构和应用程序层。

在其他情况下,您应该考虑微服务/SOA 架构。

于 2016-02-11T09:52:44.550 回答