Skip to content

Commit 023fe6b

Browse files
committed
Added some blurb to the README about why I created it in the first place.
1 parent 90b46e1 commit 023fe6b

1 file changed

Lines changed: 14 additions & 0 deletions

File tree

README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,20 @@ testable, and easy to replay.
1212
- Hierarchical states: model parent/child flows supported.
1313
- Optional design-time tooling: generate Mermaid diagrams from your builder code.
1414

15+
## Main Use Case
16+
17+
The driving scenario for this library was for a way to declare and design behaviour
18+
for components that operate within an actor model.
19+
20+
Actor instances are brought into existence, rehydrated from persisted state, triggered
21+
by messages, perform actions, and then persist their state again. Whilst the actor instance
22+
may be reused, this is not guaranteed, hence why state machines that expect to stay memory
23+
resident are suboptimal.
24+
25+
The advantage of using this state machine to model the behaviour is that it provides a clear
26+
and consistent mechanism between components, and can take advantage of analysis tools such
27+
as detecting issues with the flow logic and the ability to generate flow diagrams.
28+
1529
## Features at a glance
1630

1731
- Fluent configuration and validation

0 commit comments

Comments
 (0)