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