20 Years of Domain-Driven Design: What I’ve Learned About DDD
In invoicing, a product is a price. In shipping, it's a weight and size. This simple distinction is the key to mastering Domain-Driven Design.
#1about 2 minutes
An overview of core Domain-Driven Design techniques
DDD encompasses a range of techniques from high-level Event Storming for understanding the domain to tactical design for implementing classes and aggregates.
#2about 3 minutes
Prioritizing quality by focusing on the core domain
Instead of aiming for uniform high quality, strategically focus development effort and refinement on the core domain, which is the most critical part of the system.
#3about 1 minute
Viewing DDD as a holistic software engineering approach
Domain-Driven Design is not just a set of coding rules but a comprehensive approach to software engineering that addresses different concerns for various roles like developers and architects.
#4about 5 minutes
Letting the domain drive design to deliver customer value
The primary goal of applying DDD is to deliver value to the customer, which requires developers to actively engage with users and domain experts to understand their needs.
#5about 6 minutes
Fostering collaboration with techniques like Event Storming
Collaborative modeling techniques like Event Storming lower the barrier to participation, enabling better knowledge crunching and shared understanding between technical teams and domain experts.
#6about 5 minutes
Deconstructing the three aspects of Bounded Contexts
A Bounded Context is a core DDD pattern that defines the boundary for a specific domain model, its associated ubiquitous language, and often the scope of a single team.
#7about 5 minutes
Building autonomous modules focused on functionality
Design modules around business functionality rather than shared data entities to create highly autonomous systems with low coupling.
#8about 2 minutes
Summary of key lessons from 20 years of DDD
The talk concludes by reinforcing that DDD is about letting the domain drive design, using collaboration to understand it, and building autonomous modules.
Related jobs
Jobs that call for the skills explored in this talk.
Matching moments
04:20 MIN
Introduction to Domain-Driven Design and sustainability
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
03:19 MIN
Introduction to domain-driven design principles
Typed Security: Preventing Vulnerabilities By Design
03:26 MIN
Using strategic design to create bounded contexts
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
03:14 MIN
Comparing domain-driven vs entity-driven architecture
It’s all about the domain, honey ! Experiences from 15 years of Domain-Driven Design
04:42 MIN
Rediscovering the business domain with collaborative modeling
Domain-Driven Transformation—How to Bring (Back) Sustainable Architecture to Legacy and Monoliths
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.
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
03:38 MIN
Using Strategic Design to decompose large systems
Sustainable Angular Architectures with Nx and Strategic Design
Dev Digest 125 - Duck and CoverThis issue was written live at the WeAreDevelopers World Congress in Berlin with us being incredibly busy, but this shouldn't mean you don't get some hot resources. News and ArticlesLet's start with AI news: Google and Microsoft consume more power th...
Chris Heilmann
Dev Digest 134 - Where pixels sing?News and ArticlesWeAreDevelopers LIVE Data and Security Day is on Wednesday, 25/09/2024. Learn about OPC UA Updates, Best Practices for Using GitHub Secrets, Passwordless Web 1.5, Emerging AI Security Risks, Data Privacy in LLMs and get a chance to t...
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
Why developer experience mattersWith technology embedded in almost every aspect of life, and with developers building and maintaining these tools, it’s ensuring that developers operate in the digital world with speed and efficiency, if we are to see these same benefits in the offli...
From learning to earning
Jobs that call for the skills explored in this talk.