我试图理解 DDD 背后的概念,但我发现仅通过阅读书籍很难理解,因为它们倾向于以相当抽象的方式讨论该主题。我想在代码中看到一些好的 DDD 实现,最好是在 C# 中。
有没有在开源世界中实践 DDD 的项目的好例子?
我试图理解 DDD 背后的概念,但我发现仅通过阅读书籍很难理解,因为它们倾向于以相当抽象的方式讨论该主题。我想在代码中看到一些好的 DDD 实现,最好是在 C# 中。
有没有在开源世界中实践 DDD 的项目的好例子?
Eric Evans 和一家瑞典咨询公司发布了一个示例应用程序,该示例应用程序基于 Eric 在本书中使用的运输示例。它在 Java 中,但概念在项目页面上有很好的记录。
http://dddsample.sourceforge.net/
但是,请注意,DDD 更多的是关于旅程而不是目的地。了解您正在查看的示例代码在成为您现在所看到的之前采用了多种形式。您没有看到最初使用的笨拙模型,并且您错过了根据沿途获得的洞察力重构模型所采取的步骤。虽然构建块在 DDD 中很重要,但 Eric 认为它们被过分强调了,所以对所有样本持保留态度。
我不确定它有多完整,但我在 Google Code 上找到了NDDD 示例。
这不是一个开源项目,但它仍然是代码中的一个示例:http: //www.codeplex.com/dddpds
该示例在.NET Domain-Driven Design with C#: Problem-Design-Solution一书中使用
一个看起来很有希望但可能已经死亡的虚构示例:http: //www.codeplex.com/domaindrivendesign
恐怕http://www.codeplex.com/domaindrivendesign确实已经死了,但如果有人有兴趣贡献,请随时与我联系。
总的来说,我建议不要过度依赖 DDD 的示例,最好的示例可以显示域建模的结果和/或实现模式的一种方法。因此,我建议阅读这本书,然后在论坛上提问。
http://kigg.codeplex.com/对我来说是一个很好的例子。
一个很好的阅读是 Jimmi Nilssons 的书(和博客) 应用领域驱动设计
它是 Evans 和 Fowlers 书籍(领域驱动设计 - Evans)和(企业应用程序架构模式- Fowler)的混合体
我知道它不是 C#,但这是一个遵循域驱动方法的 java 元框架:我对此了解不多,但我愿意在不久的将来研究它:Roma Framework
http://sellandbuy.codeplex.com/
另一个项目 DDD
我自己没有使用过任何工具,但是 DDD Wikipedia 页面上提到了一些工具。不过,它们中的大多数似乎都是用 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 samples中的回答相同)