Zitat von
SebE:
Ich seh grad auf Wiki (
http://de.wikipedia.org/wiki/God_object):
God-Object = ein Objekt, dass "zu viel kennt".
Das entspricht aber der hier vorgestellten Lösung.
Ein ListenElement, welches seinen Nächsten kennt (und in unserem Automaten sogar noch "managed").
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.
Übrigens:
hier gibt es eine schöne visuelle
OOP-Implementierung einer Statemachine.