Martin Fowler – “The Chief Scientist”: “The book introduced the notion of classifying objects into Entities, Value Objects, and Service Objects – what I call the Evans Classification and identifying the concept of Aggregates. I found these filled an important gap in thinking about objects which eluded both programming languages and diagrammatic notations. A particularly important part of DDD is the notion of Strategic Design – how to organize large domains into a network of Bounded Contexts. Until that point, I’d not seen anyone tackle this issue in any compelling way.”
Frances Banks – Former CMO – Airbrake: “Since DDD is so heavily based on the concepts of object-oriented analysis and design, nearly everything within the domain model will be based on an object and will, therefore, be modular and encapsulated. This allows for various components, or even the entire system, to be altered and improved on a regular, continuous basis.”
Kyle Brown – CTO Cloud Architecture – IBM: “The book isn’t about specific design notations or even specific classes of objects or patterns. Instead, it covers the general categories of objects that good object-oriented designers identify and work with. Those categories become critical elements of a good microservices design.”
Tomas Fernandez & Dan Ackerson – Semaphore: “Domain-Driven Design (DDD) is a software design method wherein developers construct models to understand the business requirements of a domain. These models serve as the conceptual foundation for developing software.”
Steven A. Lowe – Former Product Technology Manager – Google: “Event storming catalyzes and accelerates group learning, often achieving in a few hours or days what more traditional modeling techniques never do—a common understanding of the domain in which the software must operate.”
Cedric Pontet – agilepartner.net: “In just a few years, EventStorming has become the de-facto standard, in the Domain-Driven Design community and beyond, to analyze complex domain, clarify domain boundaries, help identify your core domain, prioritize work, and move towards a microservices architecture.
Whether you are a software architect, a developer, a business analyst, a domain expert, a product owner, a UX designer, a tester, or any other role in your organization, you can leverage this simple but powerful tool to obtain better visibility and clarity on your domain.”
A must have, this is the book that started it all. Eric Evans started off this century with an advancement to Object Oriented Design and Programming (OOD/P) and gave us a deeper understanding of what we could do if we paid attention to the domain we serve with powerful structures for containing that domain in code. Don’t forget this quick reference companion (link)
A more recent publication, Learning Domain-Driven Design by Vlad Khononov is accessible for a wider audience and is recommended reading for Product Managers/Owners, Enterprise Architects, Engineers, and Executives alike. This book is so good that we put it into our Journey Starter.