Recientemente he leído sobre la biblioteca boost::statechart
(máquinas de estado finito) y me encantó el concepto.¿C# incluye máquinas de estado finito?
¿El C# tiene un mecanismo similar? ¿O puede implementarse usando un patrón de diseño específico?
Wow que fue rápido, gracias por la respuesta – Maciek
Los iteradores no son, por mucho, máquinas de estado. Algunos conceptos básicos de FSM son estados, transiciones, guardias de transición, acciones y estados jerárquicos. Estos NO son explícitos en los bloques de iteradores, por lo que no estoy de acuerdo con que esto sea una implementación de FSM. – Henri
Los bloques iteradores se implementan como máquinas de estado, pero eso no significa que sean adecuados para construir una máquina de estados arbitraria. Erik Lippert hace este punto aquí: http://stackoverflow.com/questions/1194853/implementing-a-state-machine-using-the-yield-keyword/1195205#1195205 –