Спасибо вам обоим за эти великолепные ответы. Я думаю, что читать о шаблоне дизайна - это одно, а понять, насколько он невероятно полезен, - это другое.

ли улучшить весь когда-либо написанный код, применив шаблон конечного автомата?

Я работал над проектом, который представлял собой массу ужасных, глючных, сломанных спагетти-кодов. Я скопировалПример кода State Machine Мартина Фаулера из этого блога и превратил всю кучу дерьма в серию утверждений. Буквально просто список состояний, событий, переходов и команд.

Я не могу поверить в трансформацию. Код теперь чистый и работает. Конечно, я знал о машинах состояний раньше и даже реализовывал их, но в примере с Мартином Фаулером разделение модели / конфигурации удивительно.

Это заставляет меня думать, что почти все, что я когда-либо делал, могло бы каким-то образом извлечь пользу из этого подхода. Я хочу эту функциональность на каждом языке, который я использую. Может быть, это даже должна быть функция уровня языка.

Кто-нибудь думает, что это неправильно? Или у кого-нибудь есть подобный опыт с другим рисунком?

Ответы на вопрос(2)

Ваш ответ на вопрос