DEV Community

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...
Collapse
 
moe64 profile image
Moe

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.

Collapse
 
hagailuger profile image
Hagai Luger

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

Collapse
 
carlosmgspires profile image
Carlos Pires

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.

Collapse
 
geraldcroes profile image
geraldcroes

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.

Collapse
 
carlosmgspires profile image
Carlos Pires

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

Collapse
 
kspeakman profile image
Kasey Speakman

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.

Collapse
 
007vikaxh profile image
! @ # $ % ^ *