Üst düzey durum makinemin bazı durumları ve kenarları var. Buna ana durum makinesi diyeceğim.
A ----> B ----> C
Üst durum makinesindeki herhangi bir durum bir durum makinesi de olabilir. Bu çocuklara devlet makinesi diyeceğim.
___________
/ \
A ----> | B0->B1->B2 | ----> C
\____________/
Üst durum makinesi A'dan B'ye geçiş yaparsa, B'nin durum makinesi devreye girer. B'nin çalışması bittiğinde, üst durum makinesine kontrolü bırakıp C durumuna geçişi nasıl yapmalıdır? Hangi tasarım desenini kullanıyorsunuz?
Merak ediyorsanız, ana devlet makinelerinde çocuk devlet makineleri var, çünkü kesin projem oldukça karmaşık ve bir çocuk devletinin iç işleyişini kapsüllemek doğal.
MachineContainer
sınıfa sahip olmanız gerekirB
ve B2 sona erdiğinde kontrole geri geçer ve daha sonra C'ye geçer ... Aslında böyle bir şey denemedim. Bu ilginç bir problem!