Forum: Programmieren allgemein
by Uwe Raabe,
22. Nov 2009
Das ist deine Interpretation - ich würde das nicht so einschränken. Es wird ein Folge-Zustand zurückgegeben. Das sagt aber nichts darüber aus, wo er herkommt.
Effizienterweise implementiert man eine solche State-Machine dann auch nicht über Objekt-Variablen sondern über Interfaces. Wie die Lebensdauer der implementierenden Klassen-Instanzen geregelt ist (Referenzzählung, Pool oder Garbage...
Forum: Programmieren allgemein
by Uwe Raabe,
22. Nov 2009
Es ist übrigens nicht zwingend so, daß die Folge-Zustände von dem aktuellen Zustand erzeugt werden - sie werden lediglich von ihm zurückgegeben.
Ein denkbares Beispiel dafür ist ein Warte-Zustand W. Dieser wartet eine bestimmte Zeit T auf ein Ereignis E und gibt beim Eintreten den Zustand A zurück und bei einem Timeout den Zustand B. Die Zustände A und B können zusammen mit dem Ereignis E...
Forum: Programmieren allgemein
by Uwe Raabe,
22. Nov 2009
Das ist Ansichtssache: Das State-Objekt kennt nur seinen Zustand (nicht, wie er erreicht wurde) und unter welchen Bedingungen welcher Folge-Zustand erreicht wird. Alle anderen Zustände sind ihm fremd. Das ist ein klar abgegrenzter Zuständigkeitsbereich.
Im Gegenzug dazu müssen die Case-Anweisung und die Tabelle immer alle Zustände und möglichen und nicht-möglichenn Transitionen kennen.
...