繁体   English   中英

在.NET中应用域驱动设计的最佳实践?

[英]Best practice to apply domain driven design in .NET?

我一直在尝试学习领域驱动概念并将其应用于我的软件开发。 我要做的第一件事是根据业务逻辑需求创建域模型。 我还经常使用OR映射工具(例如LLBLGen,NHibernate或Linq to SQL)来创建数据模型和数据访问层。 但是,领域模型和数据模型通常非常相似,这使我想知道维护两个模型会真正带来什么好处。

有人可以分享他们对域驱动设计的实际想法吗? 此外,在应用程序中使用DDD时如何处理数据模型或数据访问层?

提前致谢。

编辑

找到了一篇不错的文章 ,其中包含示例代码,有关存储库模式。

我通过“存储库”模式对数据访问进行了抽象,因此请确保我的域对象完全POCO,并且与数据提供者无关。

这使我可以从域的角度来雕刻应用程序,主要通过单元测试来专注于逻辑。

解决之后,我放入Presentation层(通常是网页),然后提交到具体的数据库模式。 然后,我实现我的具体Repository类,可以是L2S。

我在这里起草了几篇文章-http: //www.duncangunn.me.uk/dasblog/2009/04/11/TheRepositoryPattern.aspx http://www.duncangunn.me.uk/dasblog/2009/06 /27/MockingLinqToSQLRepositories.aspx

在接下来的几周内,请密切注意,因为我将在文档中提供并提供我的实现示例代码,该示例代码也使用工作单元模式。

我们将域对象直接映射到数据库,这意味着我们没有单独的数据访问层,而是将其视为基础结构代码。

我们将Fluent NHibernate用于大多数配置。

拆分有界上下文也是DDD的一大好处,即使必须在上下文之间复制数据,也可以在上下文中解决每个问题。

良好的集合根定义可以简化设计并提高潜在的性能(通过网格计算实现可伸缩性,请参阅Gojko Adzic post )。

当您的设计真正成为域驱动时,您的应用程序将更适应新的业务需求,因为实现实际上就是实现细节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM