Можно ли улучшить весь код, когда-либо написанный, путем применения шаблона State Machine?
Я работал над проектом, который был массой ужасающего ужасного, багги, сломанного кода спагетти. Я скопировал пример Мартина Фаулера "State Machine" из этого блога и превратил всю кучу дерьма в серию утверждений. Буквально просто список состояний, событий, переходов и команд.
Я не могу поверить в трансформацию. Код теперь чист и работает. Конечно, я знал о государственных машинах раньше и даже реализовал их но в примере Мартина Фаулера разделение модели/конфигурации удивительно.
Это заставляет меня думать, что почти все, что я когда-либо делал, могло каким-то образом выиграть от этого подхода. Я хочу эту функциональность на всех используемых языках. Возможно, это даже должно быть функцией уровня языка.
Кто-нибудь думает, что это неправильно? Или у кого-то есть аналогичный опыт с другим шаблоном?