Github 基于有界上下文拆分源代码的最佳实践

Github 基于有界上下文拆分源代码的最佳实践,github,domain-driven-design,Github,Domain Driven Design,在我看到的大多数情况下,它们倾向于在每个有界上下文中有一个GitHub/cvs存储库,这似乎是最好的选择 我的问题特别与用户界面有关,它们是否位于一个单独的存储库中,该存储库只保存ui,还是每个界面都包含在bc本身的存储库中 组成多个bc数据的接口如何 为了明确起见,我正在尝试收集如何在ddd项目中物理组织代码考虑到标签将应用于完整的Git repo,最好在两个单独的repo中有两组文件(如UI和BC),如果: 您可以在不接触另一个的情况下对其中一个进行演化(并应用新标记) 涉及的文件数量非常

在我看到的大多数情况下,它们倾向于在每个有界上下文中有一个GitHub/cvs存储库,这似乎是最好的选择

我的问题特别与用户界面有关,它们是否位于一个单独的存储库中,该存储库只保存ui,还是每个界面都包含在bc本身的存储库中

组成多个bc数据的接口如何


为了明确起见,我正在尝试收集如何在ddd项目中物理组织代码

考虑到标签将应用于完整的Git repo,最好在两个单独的repo中有两组文件(如UI和BC),如果:

  • 您可以在不接触另一个的情况下对其中一个进行演化(并应用新标记)
  • 涉及的文件数量非常重要(如果UI只是一个或两个文件,那么可能不值得为其创建专门的repo)
总结如下:

如果UI专用于BC,那么它可以与BC本身位于同一个回购协议中,也可以位于单独的回购协议中,这取决于它是否会自行发展

然而,对于跨越BC的UI,最好在其自己的回购协议中生成它们,并使用引用正确的BC回购协议


那么,如果用户界面是一个非平凡的界面,你会有类似orderingBC和orderingBCUI的东西吗?你对跨越有界上下文的用户界面有什么想法?@Sudarshan只要它们可以自己进化,它们就可以在自己的repo中,并被BC repo作为子模块()引用。谢谢“他们可以自己发展”让事情变得更清楚了,我还想让你想想如何处理跨越多个BC的用户界面?@Sudarshan“界面”,如“UI”或“API”“?@Sudarshan如果UI跨越多个BC,则表示它正在使用来自多个BC的服务。这将改变这样一个事实,即该UI将位于其自己的回购协议中,并使用多个子模块来引用正确的BCs回购协议。