Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.
Read instantly on your browser with Kindle for Web.
Using your mobile phone camera - scan the code below and download the Kindle app.
Domain-Driven Design Distilled 1st Edition
| Price | New from | Used from |
- Kindle
$17.27 Read with our free app - Paperback
$37.999 Used from $31.88 19 New from $31.42
Purchase options and add-ons
Domain-Driven Design (DDD) software modeling delivers powerful results in practice, not just in theory, which is why developers worldwide are rapidly moving to adopt it. Now, for the first time, there’s an accessible guide to the basics of DDD: What it is, what problems it solves, how it works, and how to quickly gain value from it.
Concise, readable, and actionable, Domain-Driven Design Distilled never buries you in detail–it focuses on what you need to know to get results. Vaughn Vernon, author of the best-selling Implementing Domain-Driven Design, draws on his twenty years of experience applying DDD principles to real-world situations. He is uniquely well-qualified to demystify its complexities, illuminate its subtleties, and help you solve the problems you might encounter.
Vernon guides you through each core DDD technique for building better software. You’ll learn how to segregate domain models using the powerful Bounded Contexts pattern, to develop a Ubiquitous Language within an explicitly bounded context, and to help domain experts and developers work together to create that language. Vernon shows how to use Subdomains to handle legacy systems and to integrate multiple Bounded Contexts to define both team relationships and technical mechanisms.
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.
Coverage includes
- What DDD can do for you and your organization–and why it’s so important
- The cornerstones of strategic design with DDD: Bounded Contexts and Ubiquitous Language
- Strategic design with Subdomains
- Context Mapping: helping teams work together and integrate software more strategically
- Tactical design with Aggregates and Domain Events
- Using project acceleration and management tools to establish and maintain team cadence
- ISBN-100134434420
- ISBN-13978-0134434421
- Edition1st
- PublisherAddison-Wesley Professional
- Publication dateMay 23, 2016
- LanguageEnglish
- Dimensions7 x 0.38 x 9.13 inches
- Print length176 pages
Frequently bought together

Customers who viewed this item also viewed
Domain-Driven Design: Tackling Complexity in the Heart of SoftwareHardcover$18.21 shipping32% offDeal
From the Publisher
Who Is This Book For?
|
|
|
|
|---|---|---|
Software Architects and DevelopersThis book is for everyone interested in learning the most important DDD aspects and tools and in learning quickly. The most common readers are software architects and software developers who will put DDD into practice on projects. Very often, software developers quickly discover the beauty of DDD and are keenly attracted to its powerful tooling. |
ConsultantsIf you are a consultant and you are working with a client to whom you have recommended the use of DDD, provide this book as a way to bring the major stakeholders up to speed quickly. If you have developers—perhaps junior or midlevel or even senior—working on your project who are unfamiliar with DDD but need to use it very soon, make sure that they read this book. By reading this book, at minimum, all the project stakeholders and developers will have the vocabulary and understand the primary DDD tools being used. This will enable them to share things meaningfully as they move the project forward. |
Anyone in ITI have made the subject understandable for executives, domain experts, managers, business analysts, information architects, and testers alike. There’s really no limit to those in the information technology (IT) industry and research and development (R&D) environments who can benefit from reading this book. |
Whatever your experience level and role, read this book and then practice DDD on a project. Afterward, reread this book and see what you can learn from your experiences and where you can improve in the future.
Editorial Reviews
About the Author
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.
Product details
- Publisher : Addison-Wesley Professional; 1st edition (May 23, 2016)
- Language : English
- Paperback : 176 pages
- ISBN-10 : 0134434420
- ISBN-13 : 978-0134434421
- Item Weight : 10.4 ounces
- Dimensions : 7 x 0.38 x 9.13 inches
- Best Sellers Rank: #239,263 in Books (See Top 100 in Books)
- #82 in Computer Systems Analysis & Design (Books)
- #203 in Microsoft Programming (Books)
- #282 in Software Development (Books)
- Customer Reviews:
Important information
To report an issue with this product, click here.
About the author

Vaughn Vernon is a software developer and architect with more than 35 years of experience in a broad range of business domains. Vaughn is a leading expert in Domain-Driven Design and champions simplicity. He consults and teaches around Domain-Driven Design and reactive software development, helping teams and organizations realize the potential of business-driven and reactive systems as they transition from technology-driven legacy web implementation approaches. Vaughn is the founder of the open source (OSS) VLINGO XOOM platform and SDK, a set of DDD-friendly distributed computing tools that simplify concurrent, reactive, event-driven, and microservices architectures, supporting the JVM https://github.com/vlingo. Vaughn is the author of four books: Strategic Monoliths and Microservices, Implementing Domain-Driven Design, Reactive Messaging Patterns with the Actor Model, and Domain-Driven Design Distilled, all published by Addison-Wesley. He is the editor of his own Vaughn Signature Series for Addison-Wesley.
Vaughn is an experienced consultant, instructor, and teacher with Kalele (.io). He has provided his IDDD Workshop and Reactive Architecture and Programming workshop globally to thousands of architects, engineers, and business experts. Vaughn is a sought-after keynote conference speaker, regularly presenting at industry-leading events.
Follow Vaughn on Twitter @VaughnVernon
Customer reviews
Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.
To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.
Learn more how customers reviews work on AmazonReviews with images
Submit a report
- Harassment, profanity
- Spam, advertisement, promotions
- Given in exchange for cash, discounts
Sorry, there was an error
Please try again later.-
Top reviews
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
While I like it from its simplicity, understand that this shouldn't be referred to for the first exposure to DDD topics. I feel like it gets high-level enough to paint the picture of concepts and tools, but it doesn't provide enough depth to be foundational.
Once you get the foundation in, then DDD Distilled makes more sense on its purpose. This is a high-level overview - talking of strategic vs tactical design and including DDD terminology throughout those comparisons. From ubiquitous language and bounded contexts to aggregates and domain events, there are discussions of these DDD concepts with an example that a developer in a Scrum environment could relate to. In the end, he gives a list of tools that can be useful in getting started with DDD.
Keep in mind that this isn't a super in-depth book. Implementing Domain-Driven Design is referred to throughout the book as a reminder of more specific implementations.
If you want a high-level supplement of understanding concepts and recommendations of tools, this could be good for that.
First things first you will learn the most important DDD concepts such as entities, aggregates, events, and how to design model systems using event storming. The chapters on the individual concepts felt somewhat vague however it was a nice refresher. If you're new to DDD I'm not sure if has comprehensive enough explanations.
Understanding rather complex things (modelling Aggregate Roots for example) without seeing the real code samples feels ... hard. Perhaps even too hard. If you're a developer, you might want to consider this book if you've heard of DDD but you know you haven't got the time to go through a much more detailed IDDD book. If you're working in a less technical position, this book is actually quite nice as it describes the high-level planning process called Event Storming and it re-visits SCRUM and its original ideas (it was supposed to be a tool for communicating/learning but it ended up being misused by many managers as a tool for controlling timelines).
It's been a while since I read IDDD and to be fair I finished this book during an flight - that's quite a good time investment. On the other hand had this been my only DDD book I'd have probably ended up being pretty confused.
==========================
| Edit: April/2017 |
==========================
Vaughn reached out to me in the comments section and he was kind enough to clarify his intentions about this book that I misunderstood. I admit that I didn't fully get them at first, and I feel that my review mis-judged the book a bit. I'd like to point out that I thought of this a book as a sequel to the older (red) IDDD book, but (as its name suggests) it was meant as a more quick and condensed introductory book instead.
* How to think about organizational domains, and how to carve them.
* How to model data (which goes into primary keys)
* How to architect software (which goes into RPC, SOAP, and JSON, immutable objects and functional programming). Complete with examples in C#.
* Basic agile practices with SWOT.
Without further explanation all of the tech including the analogies will be fluff to any programmer who understands JSON and database normalization. There is absolutely 0 value here.
Attached is a picture with two graphs - duplicated, one with more circles. The fluff is obvious here. This is how the book is laid out for the organizational analysis. Lots of circles taking many pages show you how to break down an organization or problem in ways that I found to be entirely intuitive.
The vocabulary here is extremely thick. Ever meet someone who insisted that a Product Owner was totally different from a Project Manager, and couldn't relate to you with terms you already knew? That about describes this whole book. The complexity is the author's language, and the muddy thought process more than the problem space. Here this is a direct quote for example (pg 77)
> Each Aggregate is composed of one or more Entities, where one Entity is called the Aggregate Root. Aggregates may also have Value Objects composed on them. As you see here, Value Objects are used inside both Aggregates.
Below that quote it says,
> A Value Object, or simply a Value, models an immutable conceptual whole.
So let put it together and figure out what this Aggregate is from this introduction,
> Aggregates may have models of an immutable conceptual whole.
What is he even trying to say? At best, imagine another 100 pages with that kind of word vomit describing things you already know, but replete with references to other books by the author.
Reviewed in the United States on October 25, 2019
* How to think about organizational domains, and how to carve them.
* How to model data (which goes into primary keys)
* How to architect software (which goes into RPC, SOAP, and JSON, immutable objects and functional programming). Complete with examples in C#.
* Basic agile practices with SWOT.
Without further explanation all of the tech including the analogies will be fluff to any programmer who understands JSON and database normalization. There is absolutely 0 value here.
Attached is a picture with two graphs - duplicated, one with more circles. The fluff is obvious here. This is how the book is laid out for the organizational analysis. Lots of circles taking many pages show you how to break down an organization or problem in ways that I found to be entirely intuitive.
The vocabulary here is extremely thick. Ever meet someone who insisted that a Product Owner was totally different from a Project Manager, and couldn't relate to you with terms you already knew? That about describes this whole book. The complexity is the author's language, and the muddy thought process more than the problem space. Here this is a direct quote for example (pg 77)
> Each Aggregate is composed of one or more Entities, where one Entity is called the Aggregate Root. Aggregates may also have Value Objects composed on them. As you see here, Value Objects are used inside both Aggregates.
Below that quote it says,
> A Value Object, or simply a Value, models an immutable conceptual whole.
So let put it together and figure out what this Aggregate is from this introduction,
> Aggregates may have models of an immutable conceptual whole.
What is he even trying to say? At best, imagine another 100 pages with that kind of word vomit describing things you already know, but replete with references to other books by the author.
Top reviews from other countries
Sirve como inicio al uso de esta metodología.
Expone ciertos ejemplos para explicar conceptos y acciones
I can honestly say that I REALLY like it. It really builds from the ground up and gives meaning and insight to words like 'Subdomain', 'Context Mapping', 'Aggregates', etc. and in what phase to apply them.
If you already have a firm basic understanding of DDD, skip this book and buy "Implementing Domain-Driven Design - Vaughn Vernon" or "Patterns, Principles and Practices of Domain-Driven Design - Scott Millett" instead. On the other hand if you struggle, just like I did, to understand basic DDD concepts or when and where these concepts should be applied, buy this book. It's the best brief introduction to DDD out there.
I use it to convince architects, management, cxo's to take the time to invest in not good but great code!
What I especially liked is that it also touched the newer eventdriven/messaging concepts, and since we niticed that even junior devs were pumping code like senior architects by applying these ideas/concepts within 4 weeks, you really understand by now the power and value..
After laying somewhat dead in the water, finally the biggest projects in the world are now applying it, thanks to Vaughn and others.
- From the very first chapters, it is not totally clear to me what's the main goal of the author of this book: promote his other book (or other services), or describe what the DDD is.
- This book helped me understand some of the concepts behind DDD + CQRS + ES which I have observed in daily work, as well as the differences between DDD environment which I used to work in vs the one described in this book.
- This book didn't help me understand why DDD effectively promotes CQRS and Event Sourcing.
- This book didn't seem to acknowledge (or at least that was my impression) that systems which don't use CQRS and Event Sourcing (or even more, are not designed to be asynchronous), can do their job really well.
- This book makes a good few massive assumptions, as if they would be applicable to the vast majority of software development projects. This includes the assumption that problem domain is more complex than the solution domain.
- This book didn't offer solutions to any of the problems created by, or at least contributed to, DDD. This includes reflecting problem domain in the architecture of the solution domain.
While I have mixed feelings about this book in particular, and DDD in general, there are very few brief introductions to the world of DDD. Until that changes, you may still want to give it a try.







