繁体   English   中英

Java中的UI数据绑定比它的价值更麻烦吗?

[英]Is UI data binding in Java more trouble than it is worth?

我最近花了一些时间学习并尝试使用各种Java数据绑定工具,如JGoodies,GlazedLists,JSR-295等。我一直试图解决的问题并不是那么困难,但是代码量很大我必须写支持绑定过程,这大大超过了它提供的任何简化。

我发现所提供的工具并不适用于除了微不足道的组合和扩展之外的任何其他工具(GlazedLists特别提供了一套很好的工具,但是扩展的系统太复杂了)。

我真的很喜欢数据绑定的想法,但它似乎存在严重缺陷。 我错过了什么吗?

我关于桌面模式和数据绑定的所有演示都包含有关开发人员面临的自动数据绑定问题的强烈警告。 我建议考虑使用像MVP这样的桌面模式,它非常易于使用且不需要绑定。

绑定的问题是许多隐式操作; 如果出现意外情况,这些帮助很难理解,只有少数开发人员可以在第三方绑定链中调试和解决问题。

但在过去的三年里,我工作的项目中的程序员实际上遇到了问题。 所以我倾向于说绑定不再是一个大问题。

如果您的应用程序是微不足道的,那么无论您是绑定还是逐个编写听众,都无所谓。

如果你的应用程序已经在一些人的月份取得了进展,那么在事后引入绑定会引起一些痛苦。 几乎每种(有用的)技术都是如此。 大量的痛苦可能来自你以前认为理所当然的混乱。

如果你正确使用绑定,你可能会完全分离gui和gui的行为。 这反过来意味着

  • 你可以测试你的演示模型 (你绑定组件的东西)没有摆动,没有EDT,只需要进行简单的单元测试。
  • 您可以使用仅涉及极少数Swing组件的简单测试来测试绑定

如果你尝试在没有绑定框架的情况下达到相同的目标,那么你最终将编写自己的绑定框架。

虽然IMHO关于java世界中的绑定存在严重问题。 它迫使你使用PropertyChangeSupport编写getter + setter,这很乏味且容易出错。 我没有看到用Java修复它的现实方法,但其他语言(想想Scala)在这里提供了有趣的机会。 如果您有兴趣,请参阅我上一篇博客文章: http//blog.schauderhaft.de/2011/05/01/binding-scala-objects-to-swing-components/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM