Show in graph

Software → Software Design

Domain Model

A representation of domain concepts, rules, behaviours, and relationships used to solve a business problem.

Motivation

A Domain Model captures the concepts and behaviour that matter to the business rather than mirroring storage tables or UI screens.

Important elements

A domain model may include entities, value objects, aggregates, domain services, policies, invariants, and domain events.

Common mistakes

  • Confusing the domain model with the database model.
  • Creating an anemic model made only of data containers.
  • Modeling implementation details that are not part of the domain.