Mesin negara tingkat atas saya memiliki beberapa status dan tepi. Saya akan menyebut ini mesin induk negara.
A ----> B ----> C
Keadaan apa pun di dalam mesin status induk dapat juga menjadi mesin status. Saya akan memanggil anak-anak ini mesin negara.
___________
/ \
A ----> | B0->B1->B2 | ----> C
\____________/
Jika mesin induk menyatakan transisi dari A ke B, mesin keadaan B mengambil alih. Setelah B selesai berjalan, bagaimana seharusnya melepaskan kontrol ke mesin status induk dan transisi ke status C? Pola desain mana yang Anda gunakan?
Jika Anda bertanya-tanya, saya memiliki mesin negara anak di dalam mesin negara induk karena proyek persis saya cukup kompleks dan wajar untuk merangkum cara kerja internal negara anak.
MachineContainer
kelas untukB
yang berisi B0, B1, dan B2 dan ketika B2 berakhir, ia melewati kontrol kembali ke wadahnya yang kemudian transisi ke C ... Saya belum pernah mencoba yang seperti ini. Ini masalah yang menarik!