It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
A 'customer' in sales is not the same as in support. Embracing this difference is the key to creating truly modular systems.
#1about 4 minutes
Introduction to Domain-Driven Design and sustainability
The speaker shares her 15-year journey with Domain-Driven Design and introduces the core goal of creating sustainable software architectures that last.
#2about 4 minutes
Achieving sustainable software architecture for long-term productivity
Sustainable architecture enables teams to consistently deliver new features over time by avoiding the structural decay that slows down development.
#3about 3 minutes
Why microservices fail without proper modularity
Splitting a monolithic application into microservices without first establishing clear modules creates a distributed big ball of mud, which is worse than the original system.
#4about 1 minute
Focusing on high cohesion and low coupling
The primary goal of software architecture is to achieve high cohesion within modules and low coupling between them, which is best accomplished through a domain-driven approach.
#5about 5 minutes
How a single shared domain model prevents modularity
A common anti-pattern is a single, shared domain model that creates tight coupling across the entire system, making it impossible to separate into independent modules.
#6about 3 minutes
Using strategic design to create bounded contexts
Domain-Driven Design's strategic design provides a framework for decomposing a system into bounded contexts that align with business subdomains, enabling independent development.
#7about 5 minutes
Finding domain boundaries with domain storytelling
The Domain Storytelling technique helps identify natural boundaries within a business process by mapping out actors, work objects, and activities.
#8about 3 minutes
Comparing domain-driven vs entity-driven architecture
A good architecture is structured around business capabilities (bounded contexts), while a poor, entity-driven architecture creates unnecessary coupling between services.
#9about 2 minutes
Practical heuristics for identifying domain boundaries
Identify potential domain boundaries by looking for one-way information flows, different process rhythms, varying definitions of key concepts, and existing organizational structures.
#10about 4 minutes
Quantifying architectural quality with the Modularity Maturity Index
The Modularity Maturity Index (MMI) offers a concrete metric to evaluate a system's architectural health, which can be analyzed using specialized tools.
#11about 8 minutes
Q&A on DDD, shared models, and microservices
The speaker answers audience questions about avoiding copy-paste models, handling shared functionality, starting new projects, and event-driven architecture.
Related jobs
Jobs that call for the skills explored in this talk.
Why Attend a Developer Event?Modern software engineering moves too fast for documentation alone. Attending a world-class event is about shifting from tactical execution to strategic leadership.
Skill Diversification: Break out of your specific tech stack to see how the industry...
Benedikt Bischof
Why You Shouldn’t Build a Microservice ArchitectureWelcome to this issue of the WeAreDevelopers Live Talk series. This article recaps an interesting talk by Michael Eisenbart who talks about the pros and cons of microservice architecture.About the speaker:Michael has been working for Bosch as a sof...