有界上下文是否涵盖所有应用程序层(域,应用程序,演示文稿和基础架构)或域模型?例如,我应该使用以下结构:
<bc 1>
|_ domain
|_ application
|_ presentation
|_ infrastructure
<bc 2>
|_ domain
|_ application
|_ presentation
|_ infrastructure
或以下:
domain
|_ <bc 1>
|_ <bc 2>
application
presentation
infrastructure
答案 0 :(得分:11)
两者都是有效的方法。我倾向于支持第一种选择,因为它允许更好的模块化和高水平BC的清晰边界。第二种选择是“标准”的做法,它有利于让我们说更技术性的分层,而第一种选择字面上倾向于更多的域驱动分层。
选择您感觉更舒服的那个。
答案 1 :(得分:1)
按你认为合适的方式做。每个有界上下文将具有不同的域,并且肯定是不同的应用程序层,但我们可以想象一个公共基础结构层,即表示层。这实际上取决于您的架构选择,以及您正在尝试构建的应用程序。
如果您想要更精确的答案,请在问题中添加一些材料,以便我们能够了解您的背景和问题。
答案 2 :(得分:0)
我认为这不是关于DDD的问题,而是关于架构的问题。有界上下文之间的哪种耦合对您来说是可接受/可取的。
如果你所有有界的背景都会:
那么你可能应该采用第二种方法 - 每个有界上下文包含自己的域和应用层,所有有界上下文共享相同的基础架构和应用层。
在其他情况下,您应该考虑microservces / SOA架构。