DDD 101 — The 5-Minute Tour

geraldcroes on February 24, 2018

I like crazy challenges. During a conference in Paris, after the organizers asked me to fulfill a missing-speaker slot for a lightning talk (a... [Read Full]
markdown guide

Your excitement is infectious! Now I want to read these books.

With AI taking over software development in the near future, I feel like this is the type of skill that will set humans apart from machines.


Thanks for this great observation!
You are giving hope to us against the machines


This is a really great article, and totally the way DDD should be understood and advocated.

However, it was not the way I approached it. I was looking for patterns (e.g. Respository, Aggregate, etc.) to cure all my ills. Needless to say my DDD adventure was quite misguided. I persisted and eventually came to a proper understanding that the specific patterns and their example implementations were incidental. Some of them would likely not be needed or take different forms in different architectures. But the core methodology is still quite powerful, and continues to become even more applicable as time goes on.


The only beef I have with DDD is... it is just an antidote for lack of common sense — and it will fail anyway if the people trying to use it don't develop enough common sense to continue practicing it.


In my opinion, limiting DDD to "an antidote for lack of common sense" is a bit harsh.

DDD brings more than just common sense. It puts forward ideas like Domain Events along with Event Storming that help the development team interview the business experts to better understand the task at hand ...

DDD proposes a standard for the layers and their responsibilities, It gives techniques to avoid the corruption of the domain model, and the list goes on.

Yes, you can figure it all by yourself thanks to experience, practice, and common sense. But learning DDD is a way to improve faster than you might have alone.


I know you are right, but... you know I am right too.

code of conduct - report abuse