我开始investigate beans binding,我的头开始旋转。有很多选择,但这是一个很难改变的核心设计决策。我有一组相互关联的POJO,我想用GUI编辑。什么是稳定,简单部署的最佳选择?如果没有一个好的解决方案,这些选项能够很好地协同工作吗?
以下是目前的竞争者:
请与这些图书馆分享您的经验。特别是如果您尝试了一个并切换到另一个。
答案 0 :(得分:7)
除了JFace,我已经使用了以上所有内容。从JGoodies开始,发现它有点难以使用。 BeansBinding更容易理解,但它对列表操作的支持非常差。输入Glazed Lists。 GL是我用过的最好的开源库之一。最近,他们添加了一个PluggableList实现,允许GlazedLists列表绑定到使用BeansBinding从POJO列出属性。结果是两全其美。
我们还经常使用Calculations API(Glazed Lists的一部分)来计算列表范围的属性,并将结果(使用BB)绑定到POJO,GUI小部件等...添加一个显示元素数量的标签在一个列表(或任何其他计算)是疯狂的简单。
我会说BB有很大的改进空间,事实上,它已经分叉到BetterBeansBinding - 如果可以的话,我建议你继续使用BBB。
我们有几个应用程序使用BB和GL的组合(其中一个是一个非常大的,复杂的GUI应用程序),并且对结果非常满意。
我建议您在开始使用之前花时间玩绑定。转换为声明式编程风格需要一些练习,但是一旦完成它,结果几乎是奇迹般的。我建议至少有3个小而完整的项目,这样你就可以了解它(如果你可以在你的设计中引入Presentation Model个概念,那么这也将带来巨大的回报)。
答案 1 :(得分:0)
我们使用JGoodies Binding框架,它非常好。这主要是简单的属性 - 如果你想做更复杂的事情,你必须写一些胶水代码。不确定其他框架是否会做得更好。
它不支持嵌套属性之类的东西,我听说Spring RCP项目中的绑定更好。我建议先调查JGoodies。