Domain-driven design (DDD) — The strategic design

Fundamentals and key concepts of DDD strategic design

Kong To
12 min readJun 19, 2023

Domain-Driven Design is an approach to designing systems. Nowadays, more and more people are interested and want to deep dive into this approach and by digesting several definitions originally suggested by Eric Evans back to 2003, in the “blue book”, Domain-Driven Design: Tackling Complexity in the Heart of Software, published in 2003. Also ten (10) years later, the “red bookImplementing Domain-Driven Design, by Vaughn Vernon, was published. The two books got risen in popularity in the industry and would enforce the craftsmanship movement as they brought an interesting complement to the BDD and TDD that already gained some growth in coding practices. Later Alberto Brandolini created the workshop-based method called event storming that allows teams to put into practices the DDD approach.

By the time the “blue book” was written, IT departments were separated from “the Business”. A decade later, teams were more adopting agility, at least tried to. Today teams are organised differently compared to two decades ago. They are more cross-functional product teams, and sometimes multi-disciplinary, operate with “build and run” in mind. By reading the book, some concepts may do not have a clear definition, because the industry has evolved. Everyone might…

--

--

Kong To

Architect, code crafter. Code quality matters. Technical writer @TheFork, a Tripadvisor company