Chapter 12. Introducing event sourcing

Simplicity is prerequisite for reliability.

—Edsger Dijkstra

The driving force that led to Domain-Driven Design (DDD) was the need to fill the gap between the different views that software architects and domain experts often had about business domains. DDD is a breakthrough compared to relational modeling because it promotes the use of domain modeling over data modeling. Relational modeling focuses on data entities and their relationships. Domain modeling, instead, focuses on behavior observable in the domain.

As a concrete implementation of domain modeling, DDD originally pushed the idea of a whole, all-encompassing object model capable of supporting all aspects and processes of a given domain. But models, ...

Get Microsoft .NET: Architecting Applications for the Enterprise, Second Edition now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.