April 7th, 2009
Mark Needham has a very interesting post regarding Domain Driven Design. One paragraph that caught my eye especially is:
As Luis Abreu points out, I don’t think there is a precise definition of what DDD actually is but for me the essence of DDD is still the same as when I compared it with OO i.e. Domain Driven Design = Object Oriented Programming + Ubiquitous Language.
I think that Mark is on to a very useful and succinct definition of DDD, yet I feel he overlooked the Law of Demeter. Building on Mark’s definition I’d define DDD as Domain Driven Design = Object Oriented Programming + Ubiquitous Language + The Law of Demeter. While some would argue that the Law of Demeter is implicit in Object Oriented Programming (or at least of OOP of the good kind…) I believe that it is important enough for successful Domain Driven Design that it should be explicitly mentioned.
Looking forward to your comments!