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

用于JavaGUI应用程序的MVC/MVP/MVVM框架,java,model-view-controller,user-interface,frameworks,mvp,Java,Model View Controller,User Interface,Frameworks,Mvp,有人能推荐一个(最好是开源的)框架来将Java桌面应用程序中的GUI与模型分离吗?实际上正是出于这个目的,MVC得到了很好的利用。从您对Swing是桌面应用程序MVC框架的建议的反应来看,我认为您确实需要某种生成器框架,它将从更高级别的规范生成“模型”和“视图”代码。我(或多或少)熟悉的例子有Eclipse EMF、GEF和相关技术。从根本上将GUI模型与核心java代码解耦最好使用数据绑定库。也就是说,您有您的pojo业务代码,您有GUI组件代码,并且您不想在更新视图和实现业务逻辑的同时编写大

有人能推荐一个(最好是开源的)框架来将Java桌面应用程序中的GUI与模型分离吗?

实际上正是出于这个目的,MVC得到了很好的利用。

从您对Swing是桌面应用程序MVC框架的建议的反应来看,我认为您确实需要某种生成器框架,它将从更高级别的规范生成“模型”和“视图”代码。我(或多或少)熟悉的例子有Eclipse EMF、GEF和相关技术。

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

和是绑定到OO模型的Swing变体的好例子。JGoodies的核心部分是开源的。如果您访问jgoodies站点上的/articles,它会有关于模式和数据绑定的文章。虽然每个绑定框架都有不同的类,但编写好的干净代码的模式可以在GUI框架和绑定框架之间移植

如果您下载现在的开源工具,那么它在Swing和SWT中都有很好的数据绑定示例。swing jphonebook示例使用beanbindings库。WindowsBuilderPro是一个拖放式GUI生成器;过去,作为一个领先的拖放GUI构建器,您必须为它付费,该构建器与领先的免费GUI库一起工作。它被谷歌收购并开源,这样他们就可以加强对GWT(谷歌web GUI框架)的图形屏幕生成器支持


这个guibuilder工具既有优秀的示例代码,又是一个优秀的开源工具。它在Swing和SWT GUI库中都使用了相同的电话簿示例,以演示其拖放GUI生成器工具的功能。因此,在学习数据绑定时,这是一个比较Swing和SWT的好方法

是一个很棒的框架

我强烈建议您尝试ZK框架。直到今天,我才发现这样一个srtong框架。在我的公司,我们在几周内使用最新的模式(如MVVM)应用了新项目。编程风格很像开发经典的“桌面”应用程序


PS:我和ZK人没有任何关系。我只是在使用他们的框架。

MV*中的“模型”对我来说主要是指域模型,而ListModel、TableModel和friends肯定不是;它们更接近于演示者或视图模型。通用框架如何提供特定于领域的模型组件?当然不是。我只是想说他们的名字有点错:)很好的答案(来自Pascal Thivent)aldready就在这里:简单地说:>MVC是组件,MVP是应用程序我爱ZK。。但它是一个web框架。这个问题需要一个桌面应用程序框架。