DDD - The Joke That Made Me LOL

Posted on May 23, 2018

Last night I asked one of my developer friends, during our not so regular Diablo III sessions, if he’d heard of DDD.

We usually talk about various software development topics and concepts, sharing insights, ideas, and sometimes discussing some principles down to implementation details, while just running around in circles in previously cleared parts of the map. It’s hard fighting monsters and focusing on interesting software discussion at the same time…

His response to my question was: ‘DDD? What’s that? Dungeons and Dragons Distributed?’. Needles to say - I burst out laughing like an idiot. It was the best joke I heard in probably the whole month.

The discussion that developed was quite interesting, touching on DDD, CQRS/ES, Commands/Handlers, async processing of costly jobs, splitting and deferring the execution of tasks that have low cohesion but are highly coupled.

It was one of the better sessions we had.

I learned a few things about how Java apps are developed and what project structure and code organization he uses. It’s not much different to what you usually see in Php land.

It also made me realize I had only just scratched the surface of some concepts and approaches that have gained popularity in Php community over the last few years. I failed to explain to him what DDD really is, the problems it solves, benefits it brings, and advantages of CQRS over controller implemented CRUD. I enjoyed it a lot, despite not being able to clearly explain some (most) things. I came away from the session with a nice set of new, concrete questions I need to study in order to gain a better understanding of these subjects, and a few cool legendary items that boosted my hero’s abilities :)