用于Java GUI应用程序的MVC/MVP/MVVM框架

Ale*_*nov 5 java model-view-controller mvp user-interface frameworks

任何人都可以推荐一个(最好是开源的)框架,用于将GUI与Jav​​a桌面应用程序中的模型分离开来吗?

sim*_*905 5

从根本上将GUI模型与核心Java代码分离最好使用数据绑定库.也就是说,你有自己的pojo业务代码,你有GUI组件代码,并且你不想写一大堆逻辑来同时更新它们同时更新视图和实现业务逻辑.所以不要.找到您正在使用的GUI小部件的成熟数据绑定框架并了解它; 让屏幕控件与你的pojo代码保持同步.

JGoodiesbeanbindings是绑定到OO模型的Swing变体的很好的例子.JGoodies的核心部分是开源.如果你去jgoodies网站上的文章,它有关于模式和数据绑定的文章.虽然每个绑定框架具有不同的类,但是用于编写良好清洁代码的模式在GUI框架和绑定框架之间是可移植的.

如果你下载了现在开源的WindowsBuilderPro工具,那么它在Swing和SWT中都有很好的例子来做好数据绑定.swing jphonebook示例使用beanbindings库.WindowsBuilderPro是一个拖放GUI构建器; 您曾经不得不支付它作为领先的拖放GUI构建器,它与领先的免费GUI库一起使用.它是由google和opensourced购买的,因此他们可以加强对GWT(Google Web GUI框架)的图形屏幕构建器支持.

该GUI构建器工具具有出色的示例代码,现在是一个出色的开源工具.它在Swing和SWT GUI库中执行相同的电话簿示例,以演示其拖放式GUI构建器工具的功能.因此,在学习数据绑定的同时,将Swing与SWT进行比较和对比是一种很好的方法.