Implementing Domain-Driven Design

Front Cover
Addison-Wesley, Feb 6, 2013 - Computers - 99998 pages
“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

 

What people are saying - Write a review

User Review - Flag as inappropriate

I have bought this book, expecting to read this book.

Contents

Chapter 1 Getting Started with DDD
1
Chapter 2 Domains Subdomains and Bounded Contexts
43
Chapter 3 Context Maps
87
Chapter 4 Architecture
113
Chapter 5 Entities
171
Chapter 6 Value Objects
219
Chapter 7 Services
265
Chapter 8 Domain Events
285
Chapter 10 Aggregates
347
Chapter 11 Factories
389
Chapter 12 Repositories
401
Chapter 13 Integrating Bounded Contexts
449
Chapter 14 Application
509
Aggregates and Event Sourcing A+ES
539
Bibliography
585
Index
589

Chapter 9 Modules
333

Other editions - View all

Common terms and phrases

About the author (2013)

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.

Bibliographic information