MVC模式理解(JavaFX开发客户端)

来源:互联网 发布:那个网络平台代理赚钱 编辑:程序博客网 时间:2024/05/20 19:47

最近使用JavaFX开发了一个PC客户端,代码行在15K左右,重构了三次,才最终产品上线使用,在这个过程中走了很多的弯路,在此总结一下。

(1)JavaFX开发优点

  • JavaFX是类似Android的开发模式,界面布局使用FXML,使用scene builder可以直接拖拽控件进行布局,可视化的布局。
  • 界面支持CSS调样式。
  • 支持ResourceBoundle,进行国际化设置。
  • 控件多,灵活,支持图表展示和WebView

(2)项目架构

       项目采用MVC架构+事件驱动层,因为界面的更新实现都在Controller中,如果需要在后台线程中更新界面操作,总不能把Controller对象传递给线程吧,这样就出现了类之间的相互调用,代码比较乱,这时候就需要再加一层,事件驱动层,设计模式中的监听器模式,在Controller中注册Model的监听接口,在线程中更新了Model对象,Model对象回调在Controller中注册的接口。
M:Model,也就是一个个数据对象。
V:View,界面展示,使用FXML进行页面布局。
C:Controller,控制层,界面的更新操作以及按钮的响应事件都在Controller更新。
事件驱动层:Model对象的监听器


(3)注意事项

  • 对界面的更新操作需要放到Platform.runLater线程中。
Platform.runLater(new Runnable()          {              @Override              public void run()              {                  //update ui              }          });


0 0