
Title overview
Domain-Driven Design Distilled brings DDD to life. Whether you’re a developer, architect, analyst, consultant, or customer, Vernon helps you truly understand it so you can benefit from its remarkable power.
Key features
What is a VitalSource eTextbook?
The full text downloaded to your computer.
With VitalSource eTextbooks you can:
- search for key concepts, words and phrases
- make highlights and notes as you study
- share your notes with friends
eTextbooks are downloaded to your computer and accessible either offline through the Bookshelf (available as a free download), available online and also via the iPad and Android apps.
Upon purchase, you'll gain instant access.
Table of contents
Preface xi
Acknowledgments xv
About the Author xvii
Chapter 1: DDD for Me 1
Will DDD Hurt? 2
Good, Bad, and Effective Design 3
Strategic Design 7
Tactical Design 8
The Learning Process and Refining Knowledge 9
Let’s Get Started! 10
Chapter 2: Strategic Design with Bounded Contexts and the Ubiquitous Language 11
Domain Experts and Business Drivers 17
Case Study 21
Fundamental Strategic Design Needed 25
Challenge and Unify 29
Developing a Ubiquitous Language 34
Architecture 41
Summary 44
Chapter 3: Strategic Design with Subdomains 45
What Is a Subdomain? 46
Types of Subdomains 46
Dealing with Complexity 47
Summary 50
Chapter 4: Strategic Design with Context Mapping 51
Kinds of Mappings 54
Making Good Use of Context Mapping 60
An Example in Context Mapping 70
Summary 73
Chapter 5: Tactical Design with Aggregates 75
Why Used 76
Aggregate Rules of Thumb 81
Modeling Aggregates 88
Summary 98
Chapter 6: Tactical Design with Domain Events 99
Designing, Implementing, and Using Domain Events 100
Event Sourcing 107
Summary 109
Chapter 7: Acceleration and Management Tools 111
Event Storming 112
Managing DDD on an Agile Project 125
Timeboxed Modeling 132
Summary 136
References 137
Index 139
Author bios
Vaughn Vernon is a champion of simplifying software architecture and development, with an emphasis on reactive methods. He has a unique ability to teach and lead with Domain-Driven Design using lightweight tools to unveil unimagined value. He helps organizations achieve competitive advantages using enduring tools such as architectures, patterns, and approaches, and through partnerships between business stakeholders and software developers.