28

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

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

4

12 回答 12

16

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

http://dddsample.sourceforge.net/

但是,请注意,DDD 更多的是关于旅程而不是目的地。了解您正在查看的示例代码在成为您现在所看到的之前采用了多种形式。您没有看到最初使用的笨拙模型,并且您错过了根据沿途获得的洞察力重构模型所采取的步骤。虽然构建块在 DDD 中很重要,但 Eric 认为它们被过分强调了,所以对所有样本持保留态度。

于 2008-10-16T17:53:54.007 回答
10

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

于 2009-06-05T19:55:18.017 回答
5

我很惊讶没有人提到Macto,Ayende 的 DDD 示例。Macto 最重要的一点是,在实际编码之前的漏洞思考过程在一系列帖子中呈现。DDD 不是关于实现模型,而是关于对业务域进行建模。诸如“某个概念是聚合根/实体/值对象”之类的决定远比 AR 的持久性重要得多。

另外,我会推荐 Udi Dahan 的有关 SOA 和 CQRS 的视频,这可能会为应用 DDD 提供更好的背景。

于 2011-09-15T07:54:59.900 回答
4

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

该示例在.NET Domain-Driven Design with C#: Problem-Design-Solution一书中使用


一个看起来很有希望但可能已经死亡的虚构示例:http: //www.codeplex.com/domaindrivendesign

于 2008-09-30T10:20:15.150 回答
2

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

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

于 2008-10-07T18:15:11.063 回答
2

http://kigg.codeplex.com/对我来说是一个很好的例子。

于 2010-06-30T18:04:31.703 回答
1

一个很好的阅读是 Jimmi Nilssons 的书(和博客) 应用领域驱动设计

它是 Evans 和 Fowlers 书籍(领域驱动设计 - Evans)和(企业应用程序架构模式- Fowler)的混合体

于 2008-09-30T08:10:31.623 回答
1

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

于 2011-03-12T00:43:42.937 回答
1

http://sellandbuy.codeplex.com/

另一个项目 DDD

于 2011-09-13T09:18:30.690 回答
0

我自己没有使用过任何工具,但是 DDD Wikipedia 页面上提到了一些工具。不过,它们中的大多数似乎都是用 Java 实现的。

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

于 2008-09-30T07:54:32.507 回答
0

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

于 2008-10-06T21:22:18.083 回答
0

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

(与我在Good Domain Driven Design samples中的回答相同)

于 2009-11-06T03:30:28.200 回答