DDD Strategic Concepts Rob Allen, June 2024

It started with a book Rob Allen | @akrabat | social.akrabat.com/@rob

Rob Allen | @akrabat | social.akrabat.com/@rob

DDD provides for the Strategic and Tactical Rob Allen | @akrabat | social.akrabat.com/@rob

Strategic Design Rob Allen | @akrabat | social.akrabat.com/@rob

Domains & Models Rob Allen | @akrabat | social.akrabat.com/@rob

A Domain is something in the real-world Rob Allen | @akrabat | social.akrabat.com/@rob

A Domain is the subject of our project Rob Allen | @akrabat | social.akrabat.com/@rob

A Domain is understood by experts in the space Rob Allen | @akrabat | social.akrabat.com/@rob

A Domain Model is a representation of the Domain Rob Allen | @akrabat | social.akrabat.com/@rob

A Domain Model is an abstraction of reality Rob Allen | @akrabat | social.akrabat.com/@rob

A Domain Model is expressed as diagrams, words, code Rob Allen | @akrabat | social.akrabat.com/@rob

Expressed as a diagram Rob Allen | @akrabat | social.akrabat.com/@rob

Building domain knowledge Rob Allen | @akrabat | social.akrabat.com/@rob

“We have really everything in common with America nowadays except, of course, language” Oscar Wilde Rob Allen | @akrabat | social.akrabat.com/@rob

Ubiquitous Language Rob Allen | @akrabat | social.akrabat.com/@rob

Ubiquitous Language is The agreed concepts, meanings and terms for the project Rob Allen | @akrabat | social.akrabat.com/@rob

You have to talk! Rob Allen | @akrabat | social.akrabat.com/@rob

Ubiquitous Language is Foundational to implementing Domain Driven Design Rob Allen | @akrabat | social.akrabat.com/@rob

In Domain-Driven Design Everything revolves around Ubiquitous Language Rob Allen | @akrabat | social.akrabat.com/@rob

Observations about creating a domain model Rob Allen | @akrabat | social.akrabat.com/@rob

Focus effort where it matters Rob Allen | @akrabat | social.akrabat.com/@rob

Knowledge Crunching Rob Allen | @akrabat | social.akrabat.com/@rob

Knowledge Crunching Event Storming Rob Allen | @akrabat | social.akrabat.com/@rob

By Henning Schwentner - CC BY-SA 4.0

Knowledge Crunching User Story Mapping Rob Allen | @akrabat | social.akrabat.com/@rob

By Dai Fujihara - CC BY-SA 2.0

Knowledge Crunching Event Modelling Rob Allen | @akrabat | social.akrabat.com/@rob

Model change over time Rob Allen | @akrabat | social.akrabat.com/@rob

Managing Domain Complexity Rob Allen | @akrabat | social.akrabat.com/@rob

Bounded Contexts define the boundary for a model Rob Allen | @akrabat | social.akrabat.com/@rob

Bounded Contexts protect the domain model from dilution Rob Allen | @akrabat | social.akrabat.com/@rob

Bounded Contexts are composed into an application Rob Allen | @akrabat | social.akrabat.com/@rob

Context maps Rob Allen | @akrabat | social.akrabat.com/@rob

To sum up Rob Allen | @akrabat | social.akrabat.com/@rob

To sum up Rob Allen | @akrabat | social.akrabat.com/@rob

“Domain-Driven Design is about creating shared understanding of the problem space that is reinforced ubiquitously via conversations, code and diagrams.” Nick Tune Rob Allen | @akrabat | social.akrabat.com/@rob

Thank you! Rob Allen | @akrabat | social.akrabat.com/@rob

Photo Credits - Risk: I. Hassan, https://www.flickr.com/photos/iahvector/15342391100 - Event Storming: H Schwentner, https://commons.wikimedia.org/w/index.php?curid=57766348 - Story Mapping: D Fujihara, https://www.flickr.com/photos/49942291@N06/6271934371 Rob Allen | @akrabat | social.akrabat.com/@rob