Sto scrivendo un'applicazione in Java che usa la progettazione di pattern MVC. Ho 4 classi principali: Main, Controller, Model, View. Main inizializza gli altri tre ed esegui launchMenu () in un ciclo infinito, un metodo incluso in Controller. Questo menu di avvio di Controller esegue un metodo launchMenu di un'altra classe: MenuHandler, che imposta le azioni (utilizzando il mio pattern di progettazione Command) e le assegna a ciascuna opzione dal mio menu UserOperations enum.
Ho diversi dubbi su come gestire UserOperationsMenu.EXIT.
La mia domanda riguarda ciò che sarebbe meglio e più logico:
- Usando un'eccezione, ho recuperato nel corpo del ciclo principale e lo lancio nella mia classe ExitAction assegnata a UserOperationsMenu.EXIT?
- Creazione di un oggetto Delegato in Controller che passo a MenuHandler e ExitAction in modo che possa comandare da ExitAction per uscire dal programma?
Ho pensato di utilizzare una variabile booleana al momento in Main e di restituire false quando voglio terminare il programma. Ma non mi piace l'idea, però.
NOTA : non voglio utilizzare direttamente System.exit (0) perché prima devo eseguire diverse attività all'esterno della mia ExitAction.