> [!abstract] A type of [[State Machine]] with the focus of [[Rich Domain Model]]
![[event-driven-finite-state-machine.svg]]
The state machine employs a combination of
- Transitional [[finite-state machine]]
- [[Event Sourcing]]
- [[Abstraction]] by splitting the State tool (the thing(s) the machine manipulates in the outside world)
## Notes
Takes inspiration from [[Rich Domain Model]]
## Sources
[A Practical Guide to State Machines](https://deniskyashif.com/2019/11/20/a-practical-guide-to-state-machines/)