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.
Matching moments
01:50 MIN
An overview of core Domain-Driven Design techniques
20 Years of Domain-Driven Design: What I’ve Learned About DDD
01:16 MIN
Viewing DDD as a holistic software engineering approach
20 Years of Domain-Driven Design: What I’ve Learned About DDD
01:41 MIN
Summary of key lessons from 20 years of DDD
20 Years of Domain-Driven Design: What I’ve Learned About DDD
03:49 MIN
Letting the business domain drive the design
There is no such thing as future-proof architecture! Here is how to prepare for it.
03:38 MIN
Using Strategic Design to decompose large systems
Sustainable Angular Architectures with Nx and Strategic Design
01:17 MIN
Why domain models create resilient and adaptable software
How to Domain Model – An example from manufacturing
04:29 MIN
Building a distributed and domain-driven data architecture
The Data Mesh as the end of the Datalake as we know it
08:01 MIN
Evolving a monolith using domain-driven design
Single Server, Global Reach: Running a Worldwide Marketplace on Bare Metal in a Cloud-Dominated World
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...
Chris Heilmann
Micro Components - a different approach to a simpler component-based webThere has been a lot of heated discussion lately in the web community about component based development. One side argued that Web Components are a standard we should follow whereas others complained that they still lag behind in what frameworks offer...
Daniel Cranney
Are design and development really just the same thing?Software engineer involves lots of different mental processes, including problem-solving, synthesising information, visualisation, and a complex blend of creativity and technical know-how.While design and development might initially seem like separat...
Daniel Cranney
The real reason we document our codeThe world of software development moves fast. Technology is constantly changing, as are the tools we use with it, and even the role of a programmer is itself constantly in flux. However, some aspects of software engineering are so foundational that w...
From learning to earning
Jobs that call for the skills explored in this talk.