Zustandsmaschinen definieren Aktionen in Abhängigkeit von vorhergehenden Aktionen bzw. eingenommen Zuständen. Sie finden immer da Verwendung, wo es eine endliche Anzahl von Zuständen und Aktionen geben kann. Dies sind unter Anderem: Datenparser, Maschinensteuerungen, Verbindungsprotokolle oder auch Spielelogik.
Beispiel (Quellcode): statemachine.cpp
Download (Quellcode): statemachine.zip
Beschreibung
Wie bereits erwähnt, benutzen Zustandsmaschinen die vorhergehenden Zustände bzw. den letzten Zustand, um eine Aktion im aktuellen Kontext durchführen zu können. Meist wird eine Aktion durch eine Eingabe in das Zustandssystem ausgelöst. Da nur eine limitierte Anzahl von Aktionen möglich ist, können je nach Zustand/Kontext verschiedene Dinge verboten, erlaubt oder in ihrer Funktion verändert sein. Dies lässt sich gut für Sicherheitsfunktionen verwenden (zum Beispiel für eine Authentifizierung).
Eine Zustandsmaschine kann von einem Zustand in einen Anderen überführt werden, dies muss nicht zwangsläufig der näc…