Eberhard Wolff

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.

20 Years of Domain-Driven Design: What I’ve Learned About DDD
#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.

d

Saby Company
Delebio, Italy

Junior

test

Milly
Vienna, Austria

Intermediate

Featured Partners

Related Articles

View all articles
CH
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...
Dev Digest 134 - Where pixels sing?
CH
Chris Heilmann
Dev Digest 125 - Duck and Cover
This 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...
Dev Digest 125 - Duck and Cover
DC
Daniel Cranney
Why developer experience matters
With 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...
Why developer experience matters
DC
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...
Are design and development really just the same thing?

From learning to earning

Jobs that call for the skills explored in this talk.