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
Vaughn Vernon is a veteran software craftsman and thought leader in simplifying software design and implementation. He is author of the best-selling Reactive Messaging Patterns with the Actor Model (2016) and Implementing Domain-Driven Design (2013), both published by Addison-Wesley. Vernon has taught his Implementing DDD Workshop around the globe to hundreds of software developers and speaks frequently at leasing industry conferences. He specializes in consulting on DDD, as well as DDD using the Actor model with Scala and Akka.