

Buy anything from 5,000+ international stores. One checkout price. No surprise fees. Join 2M+ shoppers on Desertcart.
Desertcart purchases this item on your behalf and handles shipping, customs, and support to Botswana.
“For software developers of all experience levels looking to improve their results, and design and implement domain-driven enterprise applications consistently with the best current state of professional practice, Implementing Domain-Driven Design will impart a treasure trove of knowledge hard won within the DDD and enterprise application architecture communities over the last couple decades.” –Randy Stafford, Architect At-Large, Oracle Coherence Product Development “This book is a must-read for anybody looking to put DDD into practice.” –Udi Dahan, Founder of NServiceBus Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations. Building on Eric Evans’ seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment. The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals. Coverage includes Getting started the right way with DDD, so you can rapidly gain value from it Using DDD within diverse architectures, including Hexagonal, SOA, REST, CQRS, Event-Driven, and Fabric/Grid-Based Appropriately designing and applying Entities–and learning when to use Value Objects instead Mastering DDD’s powerful new Domain Events technique Designing Repositories for ORM, NoSQL, and other databases Review: Excellent book to accompany Domain-Driven Design - This book is a much easier read than the seminal book Domain-Driven Design by Evans. The book is organized around the same concepts but the important ideas are presented up front and center. The domain examples are more down to earth and easier to follow. I find the topic of DDD invaluable for any one taking the step to software engineering of complex systems. The language and concepts presented are a 'must-learn' for all developers. This book should probably be read first before Evans book. You will enjoy the style and organization presented by the author. Review: Must-read position for everyone who want to learn DDD from practical use cases. - Must-read position for everyone who want to learn DDD from practical use cases. It also emphasize non-technical aspects of DDD which are also really important. Examples are written in Java, but it is no problem to understand it without knowledge of Java. There is also very useful index, it contains all important concepts with pages where they're explained (really useful when you need to find some information after reading the entire book). I would also recommend to read Domain-Driven Design Distilled (also by Vernon) before to have some basic background.




| Best Sellers Rank | #176,133 in Books ( See Top 100 in Books ) #39 in Object-Oriented Design #40 in Computer Systems Analysis & Design (Books) #137 in Software Development (Books) |
| Customer Reviews | 4.4 out of 5 stars 671 Reviews |
L**A
Excellent book to accompany Domain-Driven Design
This book is a much easier read than the seminal book Domain-Driven Design by Evans. The book is organized around the same concepts but the important ideas are presented up front and center. The domain examples are more down to earth and easier to follow. I find the topic of DDD invaluable for any one taking the step to software engineering of complex systems. The language and concepts presented are a 'must-learn' for all developers. This book should probably be read first before Evans book. You will enjoy the style and organization presented by the author.
R**T
Must-read position for everyone who want to learn DDD from practical use cases.
Must-read position for everyone who want to learn DDD from practical use cases. It also emphasize non-technical aspects of DDD which are also really important. Examples are written in Java, but it is no problem to understand it without knowledge of Java. There is also very useful index, it contains all important concepts with pages where they're explained (really useful when you need to find some information after reading the entire book). I would also recommend to read Domain-Driven Design Distilled (also by Vernon) before to have some basic background.
V**O
Best modern book for DDD
DDD is definitely not getting the amount of attention it deserves. If you're new to DDD and thinking of reading a book that will introduce you DDD concepts, this is the right choice. It takes out the best from Evan's classic "Domain Driven Design" and mixes in some modern concepts and advices for pragmatic DDD or overall architecture. This book explains DDD concepts on well-chosen domain problem - agile and SCRUM. Reader (who is very likely to have at least some experience with SCRUM) is going to feel comfortable with most of the examples that this book provides. Another huge plus is that author stays pragmatic. Author knows that DDD touches lot of 'theoretical' concepts, so he often mentions real-world situations and advises how to compromise certain situations - how can be DDD fully or not-so-fully utilised within your business. If you're afraid of 'too many abstractions' then don't be - peek into table of contents and you will see that author explains DDD on very real and quite recent technologies/buzzwords like REST, CQCS, Hexagonal Architecture etc. Author also assumes that reader is rather new to the whole DDD thing and patiently explains things you were 'afraid to ask', like "What's the difference between DAO and Repository?", "Is it OK to put fine-grained queries to DAO and return Value Objects?" etc. On the other hand - what's not so great about this book is its verbosity. I don't mind repeating important concepts (redundancy can be useful as we know it from Head First books for example), but I often felt like reading a novel. If I wanted to read a novel, I would buy a novel. Technical books should be brief and precise. I had the feeling that it was happening too often that author went too deep into the problem and I simply got bored way too many times. I think the useful content of this book would comfortably fit into 60% of its length. Last, but not least, I'd like to exalt the book structure and formatting which was really good. Even Kindle versions gets properly formatted source code, which (unfortunately) still isn't standard.
J**S
Amazing book for those who need details and concrete examples.
Lives up to the hype. Fantastic resource for helping you write a backend that's manageable, easy(er) to reason about, testable, extensible, and maintainable.
A**E
This surely will become a classic
This books will take you step by step through the whole process. The first part is a no nonsense summary from Evans' book, Domain Driven Design, which is the bible, but its almost unreadable IMHO. Then it moves to practical application moving through the different scenarios where DDD is used. ... How to discover the model, how to expose it. What options do you have .. The best thing is that the author is very objective studying even the most popular but controversial patterns against the hard theory of Evans and Fowler. All in all a great book worth having under your desk, and not in the bookshelf...
K**C
Good content; verbose prose, slow read
I have trouble balancing my appreciation for the conceptual material in this book with my dislike of the presentation and language. There's enough good material in the book for me to convince myself I needed to plow through it to the end; the writing was such that I had to force myself to do it. I'd really like to read a copy of this that had had the benefit of a good editor. It was verbose, and tended to belabor points that I thought had been pretty clearly conveyed in a few pages, so it took a while to get through it. It's a fairly thorough overview of the DDD space, and I think it filled in some things I didn't get from Evans earlier book. I do question some of the breezy assertions that it was almost always best to opt for the purety of the model over implementation concerns, particularly around doing implementations on top of RDBMS persistence. I think it was worth the read, but in comparison to other technical books I've read (and I read a lot of them), it was a lot more work to get through the prose than I think it needed to be.
C**E
Just what I needed
This book takes Evans' book and the entire DDD technique and put's it into practice. I'm only getting started reading it but I can already tell that this is what I felt was missing from the blue book. I already find myself using it as a referencing when speaking to people or as I'm working on projects in addition to reading through it. I would suggest this to anyone who is in any stage of understanding/implementing DDD as well as just anyone who has or can have an impact on how their business operates from a technical/software perspective.
J**Z
An Excellent piece of work
Most of the reviewers have it covered here. I just wanted to add that readers will get insight not just to strategic and tactical techniques in DDD, but also a taste of system architectures such as hexagonal and cqrs/event sourcing. Rinat did a great job in the appendix. I hope this book will help to move DDD back into common practice where it belongs. My thought is with the advent of simpler persistent stores (like NoSQL, EventStore, cloud etc) developers can afford to spend more time in the domain and drop things like relational databases and ORMs when they are not needed.
I**Z
Excelente Libro
Excelente Libro
U**O
Utilissimo ma NON per principianti
Per iniziare è doverosa una premessa: il libro * NON * si chiama BEGINNING Domain Driven Design, INTRODUCING Domain Driven Design, UNDERSTANDING Domain Driven Design o simili. Questo libro è IMPLEMENTING Domain Driven Design. Contrariamente a quanto riportato nella descrizione dei contenuti, questo libro non è assolutamente adatto a chi si avvicina per la prima volta al mondo DDD o è un principiante. Per affrontare e comprendere gli argomenti trattati occorre conoscere approfonditamente i seguenti concetti (metto tra parentesi quelli che secondo me possono essere delle pubblicazioni adatte a colmare eventuali lacune) - I principali design pattern, i principi SOLID ecc. (Head First Design Pattern) - In cosa consiste il DDD, i principi di base, la nomenclatura, le architetture (Domain Driven Design di Eric Evans - l'inventore del DDD) - Le principali architetture enterprise: CQRS, Event Sourcing ecc. (Microsoft .NET: Architecting Applications for the Enterprise - SECOND EDITION) Se siete dei principianti o non conoscete uno o più degli argomenti sopra descritti, STATE LONTANI DA QUESTO LIBRO: vi causerà un'enorme confusione dovuta a spiegazioni poco comprensibili scritte con stile prolisso, con una montagna di concetti dati per scontati e in un inglese non proprio basico. Se invece siete programmatori o architetti con esperienza nel settore, qui troverete delle preziosissime informazioni su COME gestire progetti complessi usando le tecniche e le architetture DDD, evitando gli errori più comuni e scegliendo la strada più adatta per ogni situazione. La terminologia e i concetti descritti sono riportati con estremo rigore, dipanando ogni possibile dubbio sugli argomenti trattati. Se quindi siete già ferrati sull'universo DDD, questo libro si dimostrerà preziosissimo e completerà al 100% la vostra conoscenza sull'argomento. In caso contrario, prima di affrontarne la lettura vi consiglio di approfondire gli argomenti propedeutici, pena una estrema frustrazione.
L**A
Ótimo livro
Ótimo livro, recomendo a todos PHP Developers.
P**G
Communication and Context are King!
This book is gold for everyone involved with architecture and code design that is supposed to be business driven. The book nicely not only covers "DDD Lite", so the pure usage of the tactical patterns but from my perspective even more importantly the strategic side of things. Domains, subdomains, ubiquitous language, context maps and the like share light onto your IT landscape and will even point out foggy areas. If you struggled in the past to justify with business why a certain project needs to be done, after that book you will be able to. If you really want to make your architecture robust, scalable and understandable you will need to work with the business, use ubiquitous languages with your areas of expertise and think in subdomains. How that is going to work alongside with how you finally implement things Vaughn explains in an non-academic way when possible. For me as a non-native english reader it is quite beneficial that he points out things from different view points and uses an additional sentence to explain concepts here and there. The first chapters are the most important for me as DDD really only works when you achieve a DDD mindset. That is costly for a company as there will be an overhead for IT to go the DDD route first but Vaughn also clearly explains the business value. You will understand when it makes sense to buy new technology rather to build it yourself and when to clearly focus on what you need to build. Last but not least, as the "implementing" part of the book's title promises, yes there are code examples and nicely explained. There is even a full implementation of his example on github. Powerful book. A paradigm change if you allow it to be that can open up a new world of how you think about architecture, development and your business.
A**R
Good Book
You have very few books which gives better clarity on DDD, this book is one of them. Worth the time.
Trustpilot
1 month ago
1 month ago