c# - C#.NET 中的 DDD "Module"

标签 c# .net domain-driven-design

在 Evan 的 DDD 书中,他谈到了使用“模块”隔离域中的概念。术语“模块”在软件开发中可以被翻译成许多不同的东西,包括概念上的和具体的,所以我想知道 DDD 模块的概念如何在 C#.NET 系统中表达,以及是否存在任何直接关联软件开发中术语“模块”的其他用途(例如,Evans 提到一些开发人员将 DDD 模块表示为 Java 包,我认为这类似于 .NET 程序集)。

我认为,您可以使用单独的 .NET 程序集或命名空间(这就是我们现在正在做的事情)从字面上表达这个概念。我们计划减少解决方案中的项目数量以缩短构建时间,因此我对如何将此概念应用于单个程序集非常感兴趣。

最佳答案

您已经回答了自己的问题。您使用项目或命名空间作为模块的逻辑分离。您还可以使用项目类型的分解来暗示含义,因为在 Web 服务项目中,暴露模块与内部模块等。

就我个人而言,我喜欢使用实际项目,如果 DLL 的数量曾经是一个问题,则可以在我的生产构建中使用 ILMerge 来压缩它,当然我的解决方案目前只有大约 30 个项目。

关于c# - C#.NET 中的 DDD "Module",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2503497/

相关文章:

c# - Linq-to-SQL 何时运行查询?

.net - 如果您必须创建类似 ReSharper 的东西,您会从哪里开始?

entity - 领域驱动设计 : How to deal with User Entities in different bounded context?

entity-framework - 在一笔交易中创建多个聚合

c# - 转换一个可以为 null 的对象

c# - 试图在 IList 中获取索引位置的问题

c# - BackgroundWorker 中未处理的异常

c# - 如何使用 {} 而不是 ; 自行设置属性?

c# - 为什么会生成警告 CS1607 "The version specified for the ' product version' is not in the normal 'major.minor.build.revision' format?

domain-driven-design - 领域驱动设计与命令模式——相互排斥?