event sourcing
Building a data projection from a series of domain events, applying each change in sequence until you have the current representation.
- does add complexity
- allows you to replay state changes
- lets you see what an entity was at any arbitrary period of time
use cases