Devlico.Us
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @devlicious

Casey Charlton - Insane World

Hang the code, and hang the rules. They're more like guidelines anyway


The Tao of Domain Driven Design

Tao is often referred to as 'the nameless', because neither it nor its principles can ever be adequately expressed in words. It is conceived, for example, with neither shape nor form, as simultaneously perfectly still and constantly moving, as both larger than the largest thing and smaller than the smallest, because the words that describe shape, movement, size, or other qualities always create dichotomies that are only parts of Tao. (wikipedia)

Domain Driven Design is the latest  software fad, and DDD is already becoming a buzzword recruiters are looking for on CVs. Every developer wants to be doing it, and many think they are doing it.

But most of these developers see DDD as a series of software patterns and development guidance, and miss what really underpins DDD - The Tao of DDD

Domain Driven Design certainly includes software patterns, and certainly includes coding guidance, but what the book is really about is a different way of thinking, a different way of solving problems, a different way of communicating.

In DDD the principles of Repositories, Entities, and Anti Corruption Layers merely mask the more important message, that software developers need to become part of their business users domains, developers need to stop thinking in technical terms and constructs, and need to immerse themselves in the world their business users inhabit.

DDD is more about how we as developers remove the artifical boundaries that exist between IT and the businesses we are there to support.

If you read DDD as a software development "cookbook", or you pick and choose patterns you like from the book, you will miss the whole point:

There is technically nothing new or revolutionary in DDD, there is only a guide to a better way of thinking.

While the Tao cannot be expressed, Taoism holds that it can be known, and its principles can be followed.   (wikipedia)



Comments

Colin Jack said:

Yup that just about sums it up. The patterns are useful too but too many seem to steal the patterns (often changinging them along the way) and combine them with an ORM believing the end result is DDD.

# September 10, 2008 5:37 AM

Dew Drop - September 10, 2008 | Alvin Ashcraft's Morning Dew said:

Pingback from  Dew Drop - September 10, 2008 | Alvin Ashcraft's Morning Dew

# September 10, 2008 9:11 AM

Rick said:

You start off saying "Domain Driven Design" is a fad, and referring to it as a concept, but then in Para 3 you are suddenly referring to Evan's, without mentioning it previously ..

After that I can't tell what you refer to in a particular paragraph, the book or the methodology / mindset / approach / attitude / tao / whatever you want to call it.

# September 10, 2008 9:42 AM

Casey Charlton said:

Links added to the bits that refer to the book ... though fundamentally the book and the methodology are one and the same ... until DDD evolves beyond Evans' work.

# September 10, 2008 9:59 AM

joe said:

How dare you suggest that DDD is a buzzword.  Next you will probably insinuate that it has no place in 90% of applications written and that you can do CRUD just fine without a domain expert and ubiquitous language.

Im shocked, shocked that someone would have the gall, on the internet of all places to even mention such a thing.

<3

# September 10, 2008 3:18 PM

2008 September 11 - Links for today « My (almost) Daily Links said:

Pingback from  2008 September 11 - Links for today &laquo; My (almost) Daily Links

# September 11, 2008 1:01 AM

BlogCoward said:

DDD Mysticism

# October 26, 2008 9:27 PM

Leave a Comment

(required)  
(optional)
(required)  

Enter the numbers above:
Add

About Casey Charlton

A somewhat passionate and opinionated developer, with occassional sparks of wisdom, and occasional useful information. Check out Devlicio.us!

Our Sponsors

Proudly Partnered With