← experimental
Contents
  1. Background
  2. Core Positions
  3. Books

Books in this wiki: Domain Driven Design

Background

Eric Evans is a software designer and consultant who has worked on large business systems in object-oriented development. He founded Domain Language, Inc., a consulting firm. His 2003 book Domain-Driven Design introduced the vocabulary and practices that became the dominant framework for thinking about complex business software — including ubiquitous language, bounded contexts, aggregates, repositories, and the distinction between strategic and tactical design. The book is typically cited as the primary foundational text for the DDD movement.

Core Positions

  • Software complexity is fundamentally a knowledge problem, not a technical one; the solution is deep collaboration between developers and domain experts
  • The domain model must be directly expressed in the implementation — not as a separate design artefact — and the same language must pervade code, tests, diagrams, and conversation
  • Knowledge crunching is continuous and iterative; models deepen over time as understanding grows
  • Strategic design (bounded contexts, context maps, distillation) is as important as tactical design (aggregates, entities, value objects) — often more so
  • Deep models emerge through exploration and often require discarding early, superficial assumptions

Books

Domain Driven DesignDomain-Driven Design: Tackling Complexity in the Heart of Software (2003)

The foundational DDD text. Argues from first principles — through extended narrative examples (particularly a cargo shipping system) — for a discipline of model-driven development centred on deep domain understanding. Introduced the terms and concepts that later practitioners (including Khononov, Fowler, Newman) have built on and systematised. The book is exploratory rather than prescriptive; it reasons from specific examples rather than providing checklists.