Working on a Domain-Driven Design DSL
I’ve recently started a pet project to build a Domain-Specific Language, using Visual Studio DSL Tools, for Domain-Driven Design. Indeed, DDD usually involves writing a lot of code using Patterns, OO constructs, Unit tests … it would nice to work at a higher level of abstraction (hence the graphical designer) and have most of the code generated. IMHO DDD & DSL form a very nice combination, but unfortunately there aren’t many tools yet (or there are some but immature) that are addressing the growing needs of Domain-Driven Design development.
Here is a quick peek at how such a designer could look, dealing with concepts such as Aggregates, Aggregate Roots, Repositories in addition to more common ones such as Entities & Relations:

Yoot DDD DSL Sample
Still a lot of work to be done and a lot of aspects to be taken care of, but if I manage to find enough time and make good progress on it, I might release it as a small open source project.
Additionally, I will try to make it as open as possible, with a plugin system, so that code and other artefacts generated from the diagram are completely customizable.



Hi Steve.. Just wanted to introduce myself and say awesome blog. I have been reading through it and find we share many, many areas. It’s a damn exciting time no?!
A few of us are getting thought-leaders around DDD and .NET together for some value add (i.e. fun) projects at the heart of where you’ve expressed deep expertise. For now a mock home is at:
http://www.domaindotnet.com
Blog (however not as articulately as you) is here:
http://damon.agilefactor.com and soon moved to http://blog.domaindotnet.com as it is quickly becoming more then just my blog.
To me this is all about aligning the strategic dimension and finally giving IT a shot at ‘general case’ delivery of no-bs ‘strategic value’, not ‘cost center – cost of doing business’ value.
Keep up the good work and shoot me a message if interested in our project’s dabbling. We also hope to get a nice platform running for ‘beyond the blog’ aggregated content from technical experts in the style of theserverside.net but far more specialized.
Thanks,
Damon