Everything you’d know about state machine for interviews
Less expecting, more accepting.
State Machine Summary
Why State machine
State machines are powerful because behaviour is always guaranteed to be consistent, making it relatively easy to debug.
This is because operational rules are written in stone
when the machine is started.
Interaction with state machine
You can interact with the state machine by sending an event, listening for changes or simply request a current state.
Persist StateMachine
One key point is you have to persist StateMachineContext
rather than StateMachine
StateMachinePersister vs StateMachinePersist
For StateMachinePersist
, it handling serialization logic of a StateMachineContext. You need to implement at least two methods, read
and write
While for StateMachinePersister
, persisting and restoring a StateMachine from a persistent storage.
One of it’s implementation, DefaultStateMachinePersister
which just a default wrapper of AbstractStateMachinePersister
,. It’s Constructor accept one instance of StateMachinePersist
, and for the method persiste
and restore
, they are actually invoke read
and write
from underlying StateMachinePersist.
–End–