Meine Zustandsmaschine der obersten Ebene hat einige Zustände und Kanten. Ich werde dies die übergeordnete Zustandsmaschine nennen.
A ----> B ----> C
Jeder Zustand innerhalb der übergeordneten Zustandsmaschine kann auch eine Zustandsmaschine sein. Ich werde diese Kinder als Staatsmaschinen bezeichnen.
___________
/ \
A ----> | B0->B1->B2 | ----> C
\____________/
Wenn die übergeordnete Zustandsmaschine von A nach B übergeht, übernimmt die Zustandsmaschine von B. Wie sollte B nach dem Ausführen die Kontrolle an die übergeordnete Zustandsmaschine abgeben und in den Zustand C übergehen? Welches Designmuster verwenden Sie?
Wenn Sie sich fragen, habe ich untergeordnete Zustandsautomaten in übergeordneten Zustandsautomaten, da mein genaues Projekt ziemlich komplex ist und es natürlich ist, die internen Abläufe eines untergeordneten Zustands zu kapseln.
MachineContainer
Klasse habenB
, die B0, B1 und B2 enthält, und wenn B2 endet, gibt sie die Kontrolle an ihren Container zurück, der dann zu C übergeht ... Ich habe so etwas jedoch noch nie versucht. Es ist ein interessantes Problem!