- Hardcover: 656 pages
- Publisher: Addison-Wesley Professional; 1 edition (February 16, 2013)
- Language: English
- ISBN-10: 0321834577
- ISBN-13: 978-0321834577
- Product Dimensions: 7.3 x 1.5 x 9 inches
- Shipping Weight: 2.5 pounds (View shipping rates and policies)
- Average Customer Review: 4.2 out of 5 stars See all reviews (61 customer reviews)
- Amazon Best Sellers Rank: #53,149 in Books (See Top 100 in Books)
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Implementing Domain-Driven Design 1st Edition
Use the Amazon App to scan ISBNs and compare prices.
Frequently bought together
Customers who bought this item also bought
“With Implementing Domain-Driven Design , Vaughn has made an important contribution not only to the literature of the Domain-Driven Design community, but also to the literature of the broader enterprise application architecture field. In key chapters on Architecture and Repositories, for example, Vaughn shows how DDD fits with the expanding array of architecture styles and persistence technologies for enterprise applications—including SOA and REST, NoSQL and data grids—that has emerged in the decade since Eric Evans’ seminal book was first published. And, fittingly, Vaughn illuminates the blocking and tackling of DDD—the implementation of entities, value objects, aggregates, services, events, factories, and repositories—with plentiful examples and valuable insights drawn from decades of practical experience. In a word, I would describe this book as thorough. 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
“Domain-Driven Design is a powerful set of thinking tools that can have a profound impact on how effective a team can be at building software-intensive systems. The thing is that many developers got lost at times when applying these thinking tools and really needed more concrete guidance. In this book, Vaughn provides the missing links between theory and practice. In addition to shedding light on many of the misunderstood elements of DDD, Vaughn also connects new concepts like Command/Query Responsibility Segregation and Event Sourcing that many advanced DDD practitioners have used with great success. This book is a must-read for anybody looking to put DDD into practice.”
—Udi Dahan, Founder of NServiceBus
“For years, developers struggling to practice Domain-Driven Design have been wishing for more practical help in actually implementing DDD. Vaughn did an excellent job in closing the gap between theory and practice with a complete implementation reference. He paints a vivid picture of what it is like to do DDD in a contemporary project, and provides plenty of practical advice on how to approach and solve typical challenges occurring in a project life cycle.”
— Alberto Brandolini, DDD Instructor, Certified by Eric Evans and Domain Language, Inc.
“Implementing Domain-Driven Design does a remarkable thing: it takes a sophisticated and substantial topic area in DDD and presents it clearly, with nuance, fun and finesse. This book is written in an engaging and friendly style, like a trusted advisor giving you expert counsel on how to accomplish what is most important. By the time you finish the book you will be able to begin applying all the important concepts of DDD, and then some. As I read, I found myself highlighting many sections . . . I will be referring back to it, and recommending it, often.”
— Paul Rayner, Principal Consultant & Owner, Virtual Genius, LLC., DDD Instructor, Certified by Eric Evans and Domain Language, Inc., DDD Denver Founder and Co-leader
“One important part of the DDD classes I teach is discussing how to put all the ideas and pieces together into a full blown working implementation. With this book, the DDD community now has a comprehensive reference that addresses this in detail. Implementing Domain-Driven Design deals with all aspects of building a system using DDD, from getting the small details right to keeping track of the big picture. This is a great reference and an excellent companion to Eric Evans seminal DDD book.”
— Patrik Fredriksson, DDD Instructor, Certified by Eric Evans and Domain Language, Inc.
“If you care about software craftsmanship—and you should—then Domain-Driven Design is a crucial skill set to master and Implementing Domain-Driven Design is the fast path to success. IDDD offers a highly readable yet rigorous discussion of DDD’s strategic and tactical patterns that enables developers to move immediately from understanding to action. Tomorrow’s business software will benefit from the clear guidance provided by this book.”
—Dave Muirhead, Principal Consultant, Blue River Systems Group
“There’s theory and practice around DDD that every developer needs to know, and this is the missing piece of the puzzle that puts it all together. Highly recommended!”
—Rickard Öberg, Java Champion and Developer at Neo Technology
“In IDDD, Vaughn takes a top-down approach to DDD, bringing strategic patterns such as bounded context and context maps to the fore, with the building block patterns of entities, values and services tackled later. His book uses a case study throughout, and to get the most out of it you’ll need to spend time grokking that case study. But if you do you’ll be able to see the value of applying DDD to a complex domain; the frequent sidenotes, diagrams, tables, and code all help illustrate the main points. So if you want to build a solid DDD system employing the architectural styles most commonly in use today, Vaughn’s book comes recommended.”
—Dan Haywood, author of Domain-Driven Design with Naked Objects
“This book employs a top-down approach to understanding DDD in a way that fluently connects strategic patterns to lower level tactical constraints. Theory is coupled with guided approaches to implementation within modern architectural styles. Throughout the book, Vaughn highlights the importance and value of focusing on the business domain all while balancing technical considerations. As a result, the role of DDD, as well as what it does and perhaps more importantly doesn’t imply, become ostensibly clear. Many a time, my team and I would be at odds with the friction encountered in applying DDD. With Implementing Domain-Driven Design as our luminous guide we were able to overcome those challenges and translate our efforts into immediate business value.”
—Lev Gorodinski, Principal Architect, DrillSpot.com
About the Author
Vaughn Vernon is a veteran software craftsman with more than twenty-five years of experience in software design, development, and architecture. He is a thought leader in simplifying software design and implementation using innovative methods. He has been programming with object-oriented languages since the 1980s, and applying the tenets of Domain-Driven Design since his Smalltalk domain modeling days in the early 1990s. He consults and speaks internationally, and has taught his Implementing Domain-Driven Design classes on multiple continents.
Browse award-winning titles. See more
If you are a seller for this product, would you like to suggest updates through seller support?
Top Customer Reviews
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.
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.
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.
This book and Reactive Messaging Patterns with the Actor Model: Applications and Integration in Scala and Akka are two of the four books that I keep on my desk at all times. I constantly re-read, reference, and cite from this book, it is awesome.
I thought the order of chapters was a little strange with many concepts being talked about in depth before they were properly defined (I haven't read Evans' book, so that could have been the problem though). I can't wait to read a text book like this one day where the author doesn't try and redefine terms for concepts that already have perfectly good names, it made things confusing at times.
There's was definitely enough insightful stuff in there to make me glad that I made it through.
Most Recent Customer Reviews
A lot of information is provided to answer what ever question you may have about DDD.Read more
The book gives clear definitions of DDD concepts and provides a good understanding...Read more