Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com

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)

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.

joe
wrote
re: The Tao of Domain Driven Design

on 09-10-2008 3:18 PM

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.