“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.
Leverbaar
Succeed with Domain-Driven Design (DDD), today's best-practice framework and common language for making design decisions that accelerate projects, keeping them on track while smoothly incorporating inevitable change. Vaughn Vernon's Implementing Domain-Driven Design builds on Eric Evans' seminal Domain-Driven Design, helping practitioners flatten the DDD learning curve, identify their best opportunities to apply DDD, and overcome common implementation pitfalls. Vernon presents concrete and realistic DDD techniques through examples from familiar domains, such as a Scrum-based project management application that integrates with a collaboration suite and security provider. Each principle is backed up by realistic Java examples, and all content is tied together by a single case study of a company charged with delivering a set of advanced software systems with DDD. Using this book's techniques, organizations can reduce time-to-market and build better software that is more flexible, more scalable, and better aligned to business goals. For software practitioners who are new to DDD, for those who've used DDD but not yet succeeded; and for DDD users who have experienced success and want to become even more effective. Readers will likely include software architects, systems anaysts, application developers, and project managers.