Sto lavorando su un'applicazione GUI usando il pattern MVC, ma il controller ha dimostrato di essere molto più complicato di quanto pensassi all'inizio.
L'applicazione ha opzioni che determinano il funzionamento delle operazioni nei listener di azione, quindi ho iniziato a utilizzare il modello di progettazione dello stato. Ma poi ho capito che le opzioni (stati) non si escludono a vicenda. Puoi avere due stati diversi allo stesso tempo.
Tutte le implementazioni del pattern State presuppongono che gli stati si escludono a vicenda. Come posso implementarlo in modo tale che sia possibile attivare più stati contemporaneamente e mi consente di aggiungere nuovi stati in un secondo momento senza modificare il codice?