Domain Driven Design

DDD is quite hot, has been for a while and will be for the foreseeable future.  Which is why you have to read Eric Evans’ ‘Tackling Complexity in the Heart of Software’.   I also enjoyed Jimmy Nilsson’s ‘Applying Domain-Driven Design’

But shame on me: After reading both these books, I did not have that “revelation” feeling. (That one where you want to get up in the middle of the night and go design/develop something with your new skills/knowledge).  Don’t get me wrong –
these are excellent books, definite “must reads”.  In fact, escalate that: You will find
yourself using these as reference guides quite often.  Worth their space on you bookshelf!

Why then the missing “revelation feeling”?

I had the opportunity to have Niclas Nilsson over for dinner recently, and we had some interesting discussions about a wide range of topics.  At some stage DDD came up, and
after our chat I understood my experience regarding these books and DDD much
better.  And since I know now it is not because I’m stupid, here is the revelation part

If we look at my short definition of DDD

DDD is the natural/good way to put OO into practice.  DDD = OO + “How to map OO to Business”

I have been living in a specific domain for years, and by now have the  “ubiquitous language” and  “how to map OO to business”  portions as an intuitive portion of my arsenal of developer tools.

Similarly I have been doing OO for years, and hopefully have a pretty good understanding of all things OO.

So I have actually been practising DDD (in some form or other) for years now.  (Frankly, when reading Jimmy’s book, it kind of felt like a mirror to my personal “developer journey”).  And along came DDD, providing some structure around all this. And after reading portions of Eric’s book again, Revelation: This is exactly what he is saying! So while not stupid in the way I originally thought, still some stupidity on my side;-)

And the conclusion?

•Eric, Jimmy: You guys have great books, and I understand how great they are much better now that I have this piece of insight

•DDD Rocks