I've recently read about the boost::statechart
library (finite state machines) and I loved the concept.
Does C# have a similar mechanism ? Or can it be implemented using a specific design pattern?
I've recently read about the boost::statechart
library (finite state machines) and I loved the concept.
Does C# have a similar mechanism ? Or can it be implemented using a specific design pattern?
I maintain an open-source project which implements (among other things) a generic finite state machine for .NET. It is built on top of QuickGraph, so you get many graph-analysis algorithms for free.
See this page for more information about the project, and specifically "Jolt.Automata : Finite State Machines" for more information about the feature.