C# 是否有任何使用 DDD(域驱动设计)的开源项目?
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/152120/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Are there any open source projects using DDD (Domain Driven Design)?
提问by Mikael Sundberg
I'm trying to understand the concepts behind DDD, but I find it hard to understand just by reading books as they tend to discuss the topic in a rather abstract way. I would like to see some good implementations of DDD in code, preferably in C#.
我试图理解 DDD 背后的概念,但我发现仅通过阅读书籍很难理解,因为它们倾向于以相当抽象的方式讨论该主题。我想在代码中看到一些很好的 DDD 实现,最好是在 C# 中。
Are there any good examples of projects practicing DDD in the open source world?
有没有在开源世界中实践 DDD 的项目的好例子?
采纳答案by Stefan Moser
Eric Evans and a Swedish consulting company have released a sample application based on the shipping example that Eric uses throughout the book. It's in Java, but the concepts are well documented on the project page.
Eric Evans 和一家瑞典咨询公司基于 Eric 在整本书中使用的运输示例发布了一个示例应用程序。它是用 Java 编写的,但是项目页面上有很好的概念文档。
http://dddsample.sourceforge.net/
http://dddsample.sourceforge.net/
However, be warned that DDD is more about the journey than the destination. Understand that the sample code you are looking took many forms before it became what you see now. You did not see the awkward models that were used initially and you're missing the steps taken to refactor the model based on insight gained along the way. While the building blocks are important in DDD, Eric belives they are over-emphasized, so take all samples with a grain of salt.
但是,请注意,DDD 更多的是关于旅程而不是目的地。了解您正在查看的示例代码在成为您现在看到的样子之前采用了多种形式。您没有看到最初使用的笨拙的模型,并且您错过了根据沿途获得的洞察力重构模型所采取的步骤。虽然构建块在 DDD 中很重要,但 Eric 认为它们被过分强调了,所以对所有样本持保留态度。
回答by Christophe Herreman
I haven't used any myself, but there are some tools mentioned on the DDD Wikipedia page. Most of them seem to be implemented in Java though.
我自己没有使用过任何工具,但在 DDD 维基百科页面上提到了一些工具。不过,它们中的大多数似乎是用 Java 实现的。
http://en.wikipedia.org/wiki/Domain-driven_design#Software_tools_to_support_domain-driven_design
http://en.wikipedia.org/wiki/Domain-driven_design#Software_tools_to_support_domain-driven_design
回答by kitofr
A good read is Jimmi Nilssons book (and blog for that matter) Applying domain driven design
一本很好的读物是 Jimmi Nilssons 的书(和博客) 应用领域驱动设计
It's a mixture of Evans and Fowlers books (Domain-Driven Design- Evans), and (Patterns of Enterprise Application Architecture- Fowler)
它是 Evans 和 Fowlers 书籍(领域驱动设计- Evans)和(企业应用程序架构模式- Fowler)的混合体
回答by Carl Bj?rkn?s
This is not an open source project, but still it is an example in code: http://www.codeplex.com/dddpds
这不是一个开源项目,但它仍然是代码示例:http: //www.codeplex.com/dddpds
The example is used in the book .NET Domain-Driven Design with C#: Problem-Design-Solution
该示例在.NET Domain-Driven Design with C#: Problem-Design-Solution一书中使用
A made-up example that seems promising but might have died: http://www.codeplex.com/domaindrivendesign
一个看起来很有希望但可能已经死了的虚构示例:http: //www.codeplex.com/domaindrivendesign
回答by Mikael Sundberg
Ok, I found this, but it's Java not C#:
http://timeandmoney.domainlanguage.com/
好的,我找到了这个,但它是 Java 而不是 C#:http:
//timeandmoney.domainlanguage.com/
回答by Colin Hyman
I'm afraid that http://www.codeplex.com/domaindrivendesignhas indeed died, but if anyone is interested in contributing feel free to contact me.
恐怕http://www.codeplex.com/domaindrivendesign确实已经死了,但如果有人有兴趣贡献,请随时与我联系。
Overall I would recommend against relying too much on examples of DDD, at best examples can show the results of the domain modelling and/or one approach for implementing the patterns. I would thus recommend reading the book and then asking questions at the forum.
总的来说,我建议不要过分依赖 DDD 的例子,最好的例子可以显示域建模的结果和/或实现模式的一种方法。因此,我建议阅读本书,然后在论坛上提问。
回答by Lance Fisher
I'm not sure how complete it is, but I found the NDDD Sampleon Google Code.
我不确定它有多完整,但我在 Google Code 上找到了NDDD 示例。
回答by Peter Tate
Code Camp Server, Jeffrey Palermo'ssample code for the book ASP.NET MVC in Actionis open source and uses DDD.
Code Camp Server,Jeffrey Palermo为ASP.NET MVC in Action一书提供的示例代码是开源的并使用 DDD。
(Same as my answer in Good Domain Driven Design samples)
(与我在Good Domain Driven Design samples 中的回答相同)
回答by Sasapet
http://kigg.codeplex.com/is a good example for me.
http://kigg.codeplex.com/对我来说是一个很好的例子。
回答by mox601
I know it is not C#, but this is a java meta-framework that follows a domain driven approach: I don't know much about it but I'm willing to study it in the near future: Roma Framework
我知道它不是 C#,但这是一个遵循域驱动方法的 java 元框架:我对它了解不多,但我愿意在不久的将来研究它:Roma Framework