gpt4 book ai didi

.net - 解决方案源代码组织指南(OO/DDD)

转载 作者:行者123 更新时间:2023-12-02 00:39:59 26 4
gpt4 key购买 nike

我开始着手我的第一个商业项目 (.NET),并试图遵循 DDD 原则。是否有组织源代码和命名空间的指南或通用模式?

例如,您的域对象是否位于命名空间 MyProject.Domain 或其他 namespace 中?你会把具体的实现和接口(interface)分开吗?在不同的命名空间?不同的文件夹?不同的解决方案?

我知道这在很大程度上是主观的并且取决于项目规模,但是一些指示或建议对于开始一个相对较小但可扩展的 n 层项目会很有用。

最佳答案

组织 DDD 应用程序解决方案的正确方法有很多,因此请接受实验。我几次更改了我的个人解决方案布局。我认为细节取决于您使用的技术,但整体组织保持不变。

  • 每个限界上下文一个解决方案
  • 一个包含模型(实体、值对象、存储库接口(interface)等)的域项目
  • 一个包含 NHibernate 映射、存储库实现和 NHibernate 特定类型的 Domain.Persistence(或 DataAccess)项目。如果您认真计划拥有多个持久层,您可以将它们命名为 Domain.Persistence..
  • 一个包含应用层代码(服务)的应用项目
  • 任意数量的 UI 或 Windows 服务项目

看看我的DDDSample.Net项目。它包含针对同一问题的 DDD 解决方案的许多变体。我只是描述了最典型的简单的,还有更复杂的,具体来说:

  • 多层模型
  • CQRS 系统
  • 事件溯源 CQRS 系统

希望对您有所帮助。

关于.net - 解决方案源代码组织指南(OO/DDD),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2912550/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com