Bạn chắc chắn nên triển khai nó dưới dạng máy trạng thái hữu hạn (FSM) hoặc Ngăn xếp trạng thái (menu phụ), tùy thuộc vào yêu cầu chính xác. Bất kỳ menu phụ nào là menu hiện tại trong FSM hoặc menu trên cùng trong ngăn xếp, sẽ vẽ lên màn hình và xử lý đầu vào. Và sau đó khi phát hiện người dùng nhấp vào nút, nó sẽ chuyển FSM hoặc đẩy lên ngăn xếp trạng thái chính xác để chuyển đến màn hình tiếp theo.
Trong trường hợp của bạn, tôi nghĩ rằng Stack là tốt nhất, nhưng nếu bạn có một hệ thống menu phức tạp hơn, nhảy xung quanh các menu một cách tùy ý thì bạn muốn sử dụng một FSM.