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.