Una macchina a stati finiti è un concetto astratto. In quanto tale, il concetto di macchina a stati è ortogonale a qualsiasi linguaggio particolare. Se si look at wikipedia, si dice "è un modello matematico di calcolo utilizzato per progettare sia i programmi per computer che i circuiti logici sequenziali".
Ciò significa che FSM viene solitamente utilizzato come concetto matematico utilizzato dagli informatici per rispondere a domande con la disciplina, ad esempio "è possibile calcolare xyz?"
In base alla tua domanda e al tuo link, penso che intendi chiedere informazioni sullo State Diagram (o Statechart) che è diverso. Quando si crea un diagramma di stato, si divide il programma in una serie di stati e gli eventi che possono verificarsi in quegli stati. Ad esempio, il tuo programma potrebbe trovarsi nello stato "Modifica", ricevere l'evento "doSave", quindi andare nello stato "Salvataggio", ricevere l'evento "Salva completato" e tornare allo stato "Visualizzazione"
Questa astrazione è incredibilmente utile perché consente al programmatore di organizzare concettualmente cosa dovrebbe accadere quando, implementato correttamente, porta a un codice più pulito e più organizzato, che a sua volta porta a un numero inferiore di bug. implementazione, può prevenire effetti indesiderati gestendo solo gli eventi definiti per uno stato - Ad esempio, la "Visualizzazione" probabilmente non ha un evento di 'salvataggio' definito, quindi se il programma è nello stato di "Visualizzazione" qualsiasi Salva non ha significato , poiché ciò dovrebbe avvenire solo nello stato di "Modifica"
Se guardi la panoramica del framework a cui ti colleghi, noterai che ci sono un sacco di gestori che puoi usare per collegare gli stati entranti, lasciando gli stati, le azioni che accadono, ecc. Ciò ti consente di fare effettivamente le cose che corrispondono allo stato/azione. Ad esempio, entrando nello stato "Modifica" è possibile presentare il modulo all'utente e attivare il pulsante Salva. Entrando nello stato "Salvataggio" è possibile disabilitare il pulsante e attivare una richiesta di salvataggio. Alla ricezione dell'evento "SalvaComplete" è possibile passare allo stato "Visualizzazione", rimuovere il modulo e mostrare qualcos'altro.
Wikipedia? Google? A proposito, nota come JavaScript sia semplicemente un ** linguaggio di scripting ** (cioè definisce solo l'API di base). Pertanto, gli usi pratici dipendono dall'ambiente ** ** (browser Web, server Web, Win8) e non dalla lingua stessa. –
Ho fatto di fatto Google questo. Questo è il motivo per cui ho accennato al fatto che ho colto il fatto che una macchina a stati è utilizzata per tracciare lo "stato" in un'applicazione, ma sto attraversando un periodo difficile a cogliere le implicazioni pratiche di questo e spero che qualcuno possa chiarire. –
Forme multi-passo forse? –