Domain Driven Design

by JC 18. January 2009 23:43

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

Tags: ,

Architecture

About Me

 

 

 

 

 

 

My name is JC Oberholzer and I have been working in the IT industry since 1990.  I majored in Mathematics and Computer Science and started off working with a variety of technologies, using Cobol, Fortran, C etc. on VMS, Windows, Linux.  In 1996 I joined SDT, a company doing Microsoft based development for the financial industry.  Since then the focus has been mainly on creating N-tier applications for financial services on Microsoft platforms, although I have had some exposure to Java on Linux during this time.  Since 1999 I functioned as the chief system architect of SDT. Areas of Expertise are:

 

  • Product Families
  • Long Lived Software
  • Rules Base LOB Software

 


Hosting provided by:
Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2012 JC Oberholzer