有没有使用DDD(域驱动设计)的开源项目?

我正在努力理解DDD背后的概念,但我发现通过阅读书籍很难理解,因为他们倾向于以相当抽象的方式讨论这个主题。 我想在代码中看到一些优秀的DDD实现,最好是在C#中。

在开源世界中有没有很好的DDD项目实例?

Eric Evans和一家瑞典咨询公司已经发布了一个示例应用程序,该应用程序基于Eric在本书中使用的运输示例。 它是Java,但概念在项目页面上有详细记录。

http://dddsample.sourceforge.net/

但是,请注意DDD更多的是关于旅程而不是目的地。 了解您正在查看的示例代码在成为您现在看到的内容之前采用了多种forms。 您没有看到最初使用的笨拙模型,并且您错过了根据沿途获得的洞察力重构模型所采取的步骤。 虽然积木在DDD中非常重要,但埃里克认为它们过于强调,因此请将所有样品都加入一粒盐。

我不确定它有多完整,但我在Google Code上找到了NDDD示例 。

我很惊讶没有人提到Macto ,Ayende的DDD样本。 关于Macto最重要的事情是在实际编码之前的洞思考过程是在一系列post中呈现的 。 DDD不是关于实现模型,而是关于建模业务领域。 像“某些概念是聚合根/实体/价值对象”这样的决策远比AR如何持久化更重要。

另外,我会推荐Udi Dahan关于SOA和CQRS的video,这些video可能会提供更好的应用DDD的背景。

这不是一个开源项目,但它仍然是代码中的一个例子: http : //www.codeplex.com/dddpds

该示例在.NET域驱动设计和C#:问题 – 设计 – 解决方案一书中使用


一个似乎很有希望但可能已经死亡的例子: http : //www.codeplex.com/domaindrivendesign

我担心http://www.codeplex.com/domaindrivendesign确实已经死了,但如果有人有兴趣,请随时与我联系。

总的来说,我建议不要过多依赖DDD的例子,最好的例子可以显示域建模的结果和/或实现模式的一种方法。 因此,我建议您阅读这本书,然后在论坛上提问。

我知道它不是C#,但这是一个遵循域驱动方法的java元框架:我不太了解它,但我愿意在不久的将来研究它: Roma框架

http://sellandbuy.codeplex.com/

另一个项目DDD

一本很好的读物是Jimmi Nilssons的书(以及关于那个问题的博客) 应用领域驱动的设计

它是Evans和Fowlers书籍( Domain-Driven Design – Evans)和( 企业应用程序架构模式 – Fowler)的混合体

我没有使用任何自己,但DDD维基百科页面上提到了一些工具。 其中大多数似乎都是用Java实现的。

http://en.wikipedia.org/wiki/Domain-driven_design#Software_tools_to_support_domain-driven_design

好的,我发现了这个,但它是Java而不是C#:
http://timeandmoney.domainlanguage.com/

Code Camp Server , Jeffrey Palermo的 ASP.NET MVC in Action一书的示例代码是开源的并使用DDD。

(与我在Good Domain Driven Design样本中的答案相同)