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)
09-10-2008 9:21 AM