Per un progetto, ho lavorato a un'applicazione desktop JavaFX 2.0 (un'interfaccia utente di keytool). Il modo in cui JavaFx2.0 funziona (comunque nel mio progetto), la gestione degli eventi dell'interfaccia utente avviene nelle stesse classi dell'interfaccia utente JavaFX 2.0 (ad esempio: eventi onclicked() o listener di modifiche delle proprietà).Come organizzare i controller/presentatori in una grande applicazione JavaFx 2.0?
In questo momento utilizzo una classe statica con un metodo: getController(), che tutte le classi UI utilizzano per accedere a un controller dell'applicazione (in qualche modo mi è sembrato disordinato passare il controller a tutte le 50+ classi dell'interfaccia utente).
Il problema è comunque che quel controller sta diventando molto grande! Ha troppi metodi (tutti i metodi di business logic a cui è necessario accedere dalle mie classi di UI). Anche se passa solo i metodi di chiamata al mio modello/servizio, ci sono ancora molte eccezioni che devono essere catturate a livello di controller per gestirle nell'interfaccia utente (mostra messaggi di errore, ecc.).
Qualcuno sa di un modo pulito per rendere questo modello MVC/MVP intero migliore per la mia applicazione senza che le classi UI/Controller/Modello siano direttamente dipendenti l'una dall'altra? Forse un controller diverso per ogni caso d'uso? Ma come farei in modo che la giusta classe UI ottenga il Controller giusto senza saperlo direttamente? Forse usando un'interfaccia?
Non è chiaro che cosa il controller fa. – toto2
Forse dividi la tua interfaccia utente in parti che hanno ciascuna un proprio controller? – Tower