Are there any open source projects using DDD (Domain Driven Design)? [closed]
Asked Answered
B

12

29

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#.

Are there any good examples of projects practicing DDD in the open source world?

Bandage answered 30/9, 2008 at 7:42 Comment(0)
E
16

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.

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.

Ensphere answered 16/10, 2008 at 17:53 Comment(3)
The sample has been ported to C#. See Lance Fisher's answers for the link.Ensphere
+1 @stefan is right on the money, ddd is not about the building block patterns, its not about using framework x over framework y. its about constantly asking is this model helping me solve the core problems in my domain. models are not universal representations of "truth" or "reality", they exist to solve a specific problem. get that right and dont fret about the rest, its all just details.Illfounded
I believe this project died as well. It's a shame because it has been the one i like the most. Very simple, straight, concise, although it has some violations of the book (like referencing a value object in one aggregate, to another value object in a different aggregate), it's overall an excellent guide.Crack
C
10

I'm not sure how complete it is, but I found the NDDD Sample on Google Code.

Credent answered 5/6, 2009 at 19:55 Comment(1)
I believe this project died as well. It's a shame because it has been the one i like the most. Very simple, straight, concise, although it has some violations of the book (like referencing a value object in one aggregate, to another value object in a different aggregate), it's overall an excellent guide.Crack
D
5

I'm surprised no one mentioned Macto, Ayende's DDD sample. The most important thing about Macto is that the hole thinking process before the actual coding is presented in a series of posts. DDD is not about implementing a model, is about modeling a business domain. Decisions like "some concept is an Aggregate Root/Entity/Value Object" are far more important than how will an AR be persisted.

Also i would recommend Udi Dahan's videos about SOA and CQRS which might provide a better context on which to apply DDD.

Daggna answered 15/9, 2011 at 7:54 Comment(1)
Macto is incomplete. He never finished it. He boasted about it, after a series of blogs (very destructive critic) about NLayerApp from Microsoft Spain... but at the end of the day he came off short. He said he was too busy, which i don't doubt, the guy is really good at what he does, and his arrogance (a**holeness) is equally proportional.Crack
H
4

This is not an open source project, but still it is an example in code: http://www.codeplex.com/dddpds

The example is used in the book .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

Haldas answered 30/9, 2008 at 10:20 Comment(0)
C
2

I'm afraid that http://www.codeplex.com/domaindrivendesign has indeed died, but if anyone is interested in contributing feel free to contact me.

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.

Chrysler answered 7/10, 2008 at 18:15 Comment(0)
C
2

http://kigg.codeplex.com/ is a good example for me.

Clamworm answered 30/6, 2010 at 18:4 Comment(0)
H
1

A good read is Jimmi Nilssons book (and blog for that matter) Applying domain driven design

It's a mixture of Evans and Fowlers books (Domain-Driven Design - Evans), and (Patterns of Enterprise Application Architecture - Fowler)

Hosbein answered 30/9, 2008 at 8:10 Comment(0)
S
1

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

Secret answered 12/3, 2011 at 0:43 Comment(0)
V
1

http://sellandbuy.codeplex.com/

another project DDD

Varicelloid answered 13/9, 2011 at 9:18 Comment(0)
B
0

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.

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

Baksheesh answered 30/9, 2008 at 7:54 Comment(0)
B
0

Ok, I found this, but it's Java not C#:
http://timeandmoney.domainlanguage.com/

Bandage answered 6/10, 2008 at 21:22 Comment(0)
A
0

Code Camp Server, Jeffrey Palermo's sample code for the book ASP.NET MVC in Action is open source and uses DDD.

(Same as my answer in Good Domain Driven Design samples)

Aurelioaurelius answered 6/11, 2009 at 3:30 Comment(1)
code camp server has anemic domain modelAvicenna

© 2022 - 2024 — McMap. All rights reserved.