202511151148 Domain
A Domain in the context of a model, is the actual subject of the model. It is the reality that we are modeling.
[A domain model] is a rigorously organized and selective abstraction [...] loosely representing reality to a particular purpose.1
It is important to remember that 202203210830 When your model and reality conflict, reality is always right, 202203210831 Models are immutable but reality isn't, and 202203210832 Models are necessarily incomplete. In these ways, our modeling of a domain will never be perfect. Therefore we should strive to model the relevant domain as closely as we can, but also enable the continued iteration and evolution of the model as we learn more about the domain or require adding more of the domain to our model. In fact, domain modeling is not an attempt to make the most realistic model possible. We choose the parts of the domain and the abstractions used for a particular purpose.
-
Evans, E. (2003) (pp. 2–3). Domain-driven design: Tackling complexity in the heart of software. Addison-Wesley. ↩
- 202511120846 Domain Driven Design
- 202511151207 Domain modeling exercise
- 202511161359 We never know enough to begin a project
Linked from this note