我一直在开发一个JavaFX 2.0桌面应用程序(一个keytool UI)。在我的项目中,JavaFx2.0的UI事件处理是在JavaFX 2.0 UI类本身中进行的(例如:onclicked()事件或属性更改侦听器)。
目前,我使用一个静态类和一个方法:getController(),所有UI类都使用它来访问应用程序的一个控制器(让所有50多个UI类都传递控制器给我似乎很混乱)。
然而问题是,那一个控制器变得非常庞大!它具有过多的方法(需要由我的UI类访问的所有业务逻辑方法)。即使它只是将方法调用传递给我的模型/服务,仍然有很多异常需要在控制器级别上捕获以在UI中处理它们(显示错误消息等)。
有没有人知道一种干净的方法让整个MVC/MVP模式在不直接依赖于每个其他UI/控制器/模型类的情况下更好地工作于我的应用程序?也许为每个用例使用不同的控制器?但是如何使正确的UI类获得正确的控制器而不直接知道它呢?也许使用接口?