← Back to Charlie Martin

Notebook

Domain-Driven Design

Putting the problem, not the database, at the centre of the software.

A domain model is a useful account of a problem: the language, decisions, and rules that matter to the people doing the work. Fowler describes Domain-Driven Design as building that understanding into the software, then evolving it through the life of the product.

This notebook follows that work from finding subdomains to modelling behaviour, consistency, identity, persistence, and events. The examples come from real systems, including MiniVerine.

Start at Creating Domains.