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?
.NET 4 Update 1 now supports it in the following class: System.Activities.Statements.StateMachine
Here is a tutorial on how to use it. Here's a hands on lab.