Login or Sign Up to become a member!
LessThanDot Sit Logo

LessThanDot

Architecture, Design & Strategy

Less Than Dot is a community of passionate IT professionals and enthusiasts dedicated to sharing technical knowledge, experience, and assistance. Inside you will find reference materials, interesting technical discussions, and expert tips and commentary. Once you register for an account you will have immediate access to the forums and all past articles and commentaries.

LTD Social Sitings

Lessthandot twitter Lessthandot Linkedin Lessthandot friendfeed Lessthandot facebook Lessthandot rss

Note: Watch for social icons on posts by your favorite authors to follow their postings on these and other social sites.

Your profile

Authors

Search

XML Feeds

Google Ads

« automapping fluent nhibernate and VB.NetIsolator For SharePoint »
comments
Rate Post:
submit to reddit Digg!FacebookDotnetkicks

Today, Jimmy Bogard made a post over at LosTechies.com about DDD and it not being about patterns but all about the Domain and how you model it.

Since his words are better then mine, I would like to quote him.

One question Rob Conery asked me during a conversation on DDD was, “How do I recognize an application built with DDD?” We’ve already noted that you can’t look towards a set of patterns, so how do we recognize one? A DDD application is one whose design is driven by the domain, hence “Domain-Driven Design”.

I think he has a point. Domain driven design should make the domain the first and most important aspect of the application. I think it's also the most natural way to implement OOP.

Another tactic to recognizing DDD is have both the domain experts and team explain the domain. Counting the number of clarifications and special cases, “well, except, but” and “we” versus “they” provides a good indication that the domain experts and team are not on the same page.

Of course, it will never be perfect, since the domain experts sometimes forget to tell certain things to the team. But then, at the end of the process, the team should be domain experts too, to a point at least. They may lack the experience but they should know most of the process, if they don't, then they haven't understood the process. So, if you model a milk route for a milkman, you don't have to go around taking out the milk for 5 weeks in a row, but you should have at least been there once.

REMEMBER, you can't always trust the domain experts to tell you everything they know. They sometimes take things for granted that aren't as obvious to a third party.

DDD is an architectural style that encourages model-driven design and a domain-driven model. Following this style is following DDD, and merely implementing patterns only indicates that we can implement patterns.

That summed it up quite nicely for me.

I would also like to add that DDD is not about what library you use and the domain is also OO-language agnostic. The implementation might vary a little from language to language but it should turn out to be the same in the end.

About the Author

User bio imageChristiaan is a forensic technician who programs on the side, although my function description says that I do IT-things for 90% of the time . I'm an avid VB.NET fan and I use lots of the ALT.Net techniques, like unit-testing, nhibernate, logging, IoC, ...
Social SitingsTwitterLinkedInHomePageLTD RSS Feed
660 views
ddd, design
submit to reddit Digg!FacebookDotnetkicks

Comments and Feedback

No feedback yet

Leave a comment


Your email address will not be revealed on this site.

Your URL will be displayed.
(Line breaks become <br />)
(Name, email & website)
(Allow users to contact you through a message form (your email will not be revealed.)