我在哪里可以找到一些DDD的好例子?

时间:2009-02-12 05:12:50

标签: domain-driven-design

我正在学习领域驱动设计,但是有一些实际问题令我感到困惑,我认为看到一些好的样本可能会被清除。

有没有人知道一些很好的工作代码示例,它们可以很好地建模基本的DDD概念?

特别感兴趣

  • 说明性域模型
  • 存储库
  • 使用域名/应用程序服务
  • 价值对象
  • 聚合根

8 个答案:

答案 0 :(得分:182)

DDD样本的难点在于它们通常非常特定于域,并且所得系统的技术实现并不总是显示在域建模中所做的设计决策和转换,这实际上是DDD。 DDD更多地是关于流程而不是代码。 (正如一些人所说,最好的DDD样本就是书本身!)

也就是说,一个评论良好的示例应用程序至少应该揭示其中的一些决策,并在为您的域模型与用于实现它的技术模式进行匹配方面给出一些指导。

您尚未指定使用哪种语言,但我会用几种不同的语言为您提供一些语言:

DDDSample - 一个Java示例,反映了Eric Evans在his book中谈到的示例。这已得到很好的评论,并显示了使用单独的有界上下文(即表示层)解决各种问题的许多不同方法。它正在积极开展工作,因此请定期检查更新。

dddps - Tim McCarthy的C#应用​​程序样本,用C#开发.NET域驱动设计

S#arp Architecture - 一个实用的C#示例,不是“纯粹”的DDD方法,可能是因为它缺乏真正的域名问题,但仍然是一个很好的干净方法。

对于所有这些示例应用程序,最好从SVN中查看最新的主干版本,无论如何真正了解思维和技术模式,因为它们应该定期更新。

答案 1 :(得分:24)

不是每个人说源项目,但我偶然发现Parleys.com有一些很好的视频可以很好地覆盖DDD(需要闪存):

我发现这些比目前几乎不存在的DDD示例更有用。

答案 2 :(得分:12)

Eric Evans的域驱动设计书中的.NET DDD示例可以在这里找到:http://dddsamplenet.codeplex.com

干杯,

Jakub G

答案 3 :(得分:10)

结帐Project Silk。它不仅展示了DDD,还展示了其他前沿模式。这是任何Web开发人员的优秀资源。有关该项目的完整概述,请访问MSDN

答案 4 :(得分:6)

这是一个基于域驱动设计的好例子,并解释了为什么拥有单独的域层很重要 Microsoft spain - DDD N Layer Architecture

答案 5 :(得分:5)

ddd-cqrs-sample也是一个很好的资源。用Java,Spring和JPA编写。

答案 6 :(得分:4)

Code Camp ServerJeffrey Palermo's图书ASP.NET MVC in Action的示例代码。虽然本书主要关注表示层,但应用程序是使用DDD建模的。

答案 7 :(得分:0)

Time and Money,虽然它有很多不足之处。