我最近花费了一些时间学习和尝试使用各种Java数据绑定工具,例如JGoodies、GlazedLists、JSR-295等。 我尝试解决的问题并不是非常困难,但是我必须编写大量支持绑定过程的代码,这远远超过了它提供的简化。
我发现所提供的工具除了微小的组合和扩展外,无法胜任其他任务(特别是GlazedLists提供了很棒的工具集,但太过复杂而难以扩展)。
我真的很喜欢数据绑定的想法,但是目前它似乎存在严重缺陷。我有什么遗漏吗?
我最近花费了一些时间学习和尝试使用各种Java数据绑定工具,例如JGoodies、GlazedLists、JSR-295等。 我尝试解决的问题并不是非常困难,但是我必须编写大量支持绑定过程的代码,这远远超过了它提供的简化。
我发现所提供的工具除了微小的组合和扩展外,无法胜任其他任务(特别是GlazedLists提供了很棒的工具集,但太过复杂而难以扩展)。
我真的很喜欢数据绑定的想法,但是目前它似乎存在严重缺陷。我有什么遗漏吗?
我所有有关桌面模式和数据绑定的演示都包含有关自动数据绑定给开发人员带来的问题的强烈警告。我建议考虑使用一个相当易于使用且不需要绑定的桌面模式,如MVP。
而绑定操作的问题在于存在许多隐含操作;这些操作有所帮助,但如果出现意外情况,则很难理解,只有少数开发人员可以调试和解决第三方绑定链中的问题。
然而,在过去的三年中,我工作中的项目中遇到问题的程序员较少。因此,我倾向于认为,绑定不再是一个大问题了。
我认为在Java世界中绑定存在一个严重的问题。它强制你使用PropertyChangeSupport编写getter和setter,这是繁琐且容易出错的。我不认为在Java中有一个现实的解决方法,但其他语言(如Scala)在这方面提供了有趣的机会。如果您感兴趣,请查看我的最新博客文章:http://blog.schauderhaft.de/2011/05/01/binding-scala-objects-to-swing-components/