最近使用JavaFX开发了一个PC客户端,代码行在15K左右,重构了三次,才最终产品上线使用,在这个过程中走了很多的弯路,在此总结一下。
(1)JavaFX开发优点
- JavaFX是类似Android的开发模式,界面布局使用FXML,使用scene builder可以直接拖拽控件进行布局,可视化的布局。
- 界面支持CSS调样式。
- 支持ResourceBoundle,进行国际化设置。
- 控件多,灵活,支持图表展示和WebView
(2)项目架构
项目采用MVC架构+事件驱动层,因为界面的更新实现都在Controller中,如果需要在后台线程中更新界面操作,总不能把Controller对象传递给线程吧,这样就出现了类之间的相互调用,代码比较乱,这时候就需要再加一层,事件驱动层,设计模式中的监听器模式,在Controller中注册Model的监