Для проекта я работал над настольным приложением JavaFX 2.0 (пользовательский интерфейс keytool). Как работает JavaFx2.0 (в моем проекте так или иначе) обработка событий пользовательского интерфейса происходит в самих классах интерфейса JavaFX 2.0 (например: события onclicked() или прослушиватели изменений свойств).Как организовать контроллеры/презентаторы в большом приложении JavaFx 2.0?
Прямо сейчас я использую статический класс с помощью метода getController(), который все классы UI используют для доступа к одному контроллеру приложения (как-то мне было бесполезно передавать контроллер на все 50+ пользовательских интерфейсов).
Проблема в том, что один контроллер становится очень большим! У этого метода слишком много методов (все методы бизнес-логики, к которым должны обращаться мои классы пользовательского интерфейса). Несмотря на то, что он пропускает только методы, вызываемые моей моделью/службой, все еще существует множество исключений, которые необходимо поймать на уровне контроллера для обработки их в пользовательском интерфейсе (показать сообщения об ошибках и т. Д.).
Кто-нибудь знает, как сделать весь этот шаблон MVC/MVP лучше для моего приложения, если классы UI/Controller/Model напрямую не зависят от eachother? Может быть, другой контроллер для каждого варианта использования? Но тогда как я могу сделать так, чтобы правильный UI-класс получил правильный контроллер без непосредственного знания этого? Может быть, с помощью интерфейса?
Это не ясно, что делает ваш контроллер. – toto2
Возможно, ваш пользовательский интерфейс может разбиться на части, каждый из которых имеет свой собственный контроллер? – Tower