Visual Studio - DDD 模块和洋葱

Fra*_*nco 3 c# domain-driven-design visual-studio onion-architecture

我正在开发一个遵循 DDD 和洋葱架构概念的 C# 应用程序,但我无法实现如何分离代码:

  1. 我希望它由模块分隔 - 有界上下文 - (即销售;供应商;客户)
  2. 我希望它按层分隔(即核心;服务)

想到要执行以下操作:每个层一个项目,每个模块一个文件夹(具有唯一的命名空间)。例如:

项目核心

  • 文件夹销售
  • 文件夹供应商
  • 文件夹客户端

项目服务

  • 文件夹销售
  • 文件夹供应商
  • 文件夹客户端

但是,我认为我可以反过来做:每个模块一个项目,每个层一个文件夹。

不知道有没有更多的办法。

谢谢你。

the*_*Dmi 5

在 VS 中运行良好的一种方法如下:

  • 每个模块创建一个项目。这是一种自然的方法,因为您在项目之间具有显式依赖关系。
  • 使用解决方案文件夹将项目分组到层中。您可以为图层添加一个数字前缀,以便它在 Visual Studio 中按顺序显示。请注意,解决方案文件夹是虚拟的,即在文件系统中不可见,但这通常不是问题。