Конечный государственный аппарат представляет собой абстрактное понятие. Таким образом, концепция конечного автомата ортогональна какому-либо определенному языку. Если вы look at wikipedia, он говорит: «Это математическая модель расчета, используемая для проектирования как компьютерных программ, так и последовательных логических схем».
Это означает, что FSM обычно используется в качестве математической концепции, которая используется учеными-компьютерщиками для решения вопросов с дисциплиной, например «может ли xyz быть вычислена вообще»?
Основываясь на вашем вопросе и вашей ссылке, я думаю, вы хотите спросить о Диаграмме состояния (или Statechart), которая отличается. Когда вы создаете диаграмму состояний, вы делите свою программу в ряд состояний и события, которые могут возникать в этих состояниях. Например, ваша программа может находиться в состоянии «Редактирование», получать событие «doSave», а затем переходить в состояние «Сохранение», получать событие «Сохранить завершенное» и вернуться в состояние «Просмотр».
Эта абстракция невероятно полезна, потому что она позволяет программисту концептуально организовывать то, что должно происходить, когда, когда оно выполняется правильно, ведет к более чистому и более организованному коду, что в свою очередь приводит к меньшему количеству ошибок. Диаграмма состояния, в зависимости от реализация может предотвратить непреднамеренные эффекты, только обрабатывая события, определенные для состояния. Например, «Просмотр», вероятно, не имеет определенного события «сохранения», поэтому, если программа находится в состоянии «Просмотр», любое сохранение не имеет смысла , поскольку это должно произойти только в состоянии «Редактирование».
Если вы посмотрите на обзор рамки, на которую вы ссылаетесь, вы заметите, что есть куча обработчиков, которые вы можете использовать для захвата вхождения в состояния, состояния, действия, происходящие и т. Д. Это позволяет вам делать то, что соответствует к состоянию/действию. Например, при входе в состояние «Редактирование» вы можете представить форму пользователю и включить кнопку «Сохранить». При входе в состояние «Сохранение» вы можете отключить кнопку и запустить запрос на сохранение. При получении события «SaveComplete» вы можете перейти в состояние «Просмотр», удалить форму и показать что-то еще.
Wikipedia? Google? Кстати, обратите внимание, что JavaScript - это просто ** язык сценариев ** (т. Е. Он определяет только основной API). Таким образом, практическое использование зависит от ** среды ** (веб-браузер, веб-сервер, Win8), а не от самого языка. –
Я действительно на самом деле это Google. Вот почему я упомянул, что понял, что конечный автомат используется для отслеживания состояния в приложении, но мне трудно понять практические последствия этого, и я надеюсь, что кто-то сможет прояснить ситуацию. –
Возможно многоэтапные формы? –