Dla projektu pracowałem nad aplikacją komputerową JavaFX 2.0 (interfejs klawiatury). Sposób działania JavaFx2.0 (w moim projekcie), obsługa zdarzeń interfejsu użytkownika odbywa się w samych klasach interfejsu użytkownika JavaFX 2.0 (na przykład: zdarzenia onclicked() lub detektory zmiany właściwości).Jak zorganizować kontrolery/prezenterów w dużej aplikacji JavaFx 2.0?
W tej chwili używam klasy statycznej za pomocą metody: getController(), której wszystkie klasy UI używają do uzyskania dostępu do kontrolera aplikacji (jakoś wydawało mi się nieporządne przekazywanie kontrolera do wszystkich 50+ klas UI).
Problem polega jednak na tym, że jeden kontroler staje się bardzo duży! Ma zbyt wiele metod (wszystkie metody logiki biznesowej, które muszą być dostępne w moich klasach UI). Mimo że metody te są przekazywane tylko do mojego modelu/usługi, wciąż istnieje wiele wyjątków, które muszą zostać przechwycone na poziomie kontrolera w celu obsługi ich w interfejsie użytkownika (pokazywać komunikaty o błędach itp.).
Ktoś wie w czysty sposób, aby ten cały wzorzec MVC/MVP działał lepiej dla mojej aplikacji bez klas UI/Controller/Model bezpośrednio zależnych od siebie? Może inny kontroler dla każdego przypadku użycia? Ale jak mógłbym to zrobić, aby właściwa klasa UI uzyskała właściwego kontrolera, nie wiedząc o tym bezpośrednio? Może za pomocą interfejsu?
Nie jest jasne, co robi Twój kontroler. – toto2
Może podzielisz interfejs użytkownika na części, z których każda ma własny kontroler? – Tower