了解Eclipse中的JFace数据绑定,第1部分: 数据绑定的优缺点 - 编程入门网
类几乎同 JGoodies 一样。特定于 Swing 的模型则被适用于 SWT 控件的模型所替代。
JFace 数据绑定 最近出现的另一个 Java 数据绑定新成员是 JFace 数据绑定框架。Eclipse V3.2 发布版中附带了该 API 的临时版本。不同于 SWTBinding/JGoodies 框架,JFace 数据绑定是从头开始构建的,专门与 SWT 和 JFace 结合使用。 数据绑定的优点 除了解决同步问题之外,在应用程序中使用数据绑定框架还有其他优点。由于是重复使用同一段同步代码,而不是创建自己的同步代码,因此出现的错误会少一些。另一个主要的优点是获得应用程序可测试性。 流行的 Presentation Model提倡将应用程序的状态与业务逻辑分开放入模型层中,而模型层是从视图的 GUI 控件中分离出来的。模型的状态频繁与视图同步,如图 2 所示。 图 2. 使用 Presentation Model 的关系 了解Eclipse中的JFace数据绑定,第1部分: 数据绑定的优缺点(6)时间:2011-02-11 IBM Scott Delap这类设计允许测试应用程序的所有业务逻辑而无需将视图实例化。例如,当总数大于 100 时启用表中的某些控件,有一个 "if total > 100" 的启用条件,还有一个基于此条件评估的相关状态。 使用 Presentation Model 模式,此状态被设在 Presentation Model 的变量中,并与视图同步以修改控件的启用。正因为这样,才能够测试逻辑而无需访问视图中的 GUI 组件。 用 SWT 和 Swing 通常很难访问 GUI 组件并模拟(mock)这些组件。针对 Presentation Model 运行所有测试,因为 Presentation Model 包含有条件的逻辑和一个储存随执行而更改的状态的空间。整个模式的一个难点是何时或怎样在 Presentation Model 和视图之间来回同步数据。在数据绑定前,解决这个问题很难。现在,这个问题就像在 Presentation Model 中将控件绑定到字段上或关联的域对象上一样容易。 数据绑定的缺点 在应用程序中使用数据绑定框架有一些缺点。首先,应用程序更难调试,因为附加的绑定层使追踪控件与域对象之间的数据流变得更难。不过,当熟悉了所使用框架的实现规范后,调试过程会变得更容易。 由于使用字符串表示属性,因此应用程序在重构期间很可能变得更脆弱。考虑一下清单 5 中的代码引用。字符串 "first" 用于通知 JFace 数据绑定框架绑定到 getFirst() / setFirst() 属性上。将 getFirst() 和 setFirst() 重构为 getFirstName() 和 setFirstName() 需要将字符串更改为 "firstName"。目前的 IDE 重构工具不会捕捉这种变化。 清单 5. 区域重构不捕捉
结束语 无论是否在 SWT 或 Swing 中进行开发,在项目中使用数据绑定框架好处很多。没有人喜欢编写或维护样本 GUI 至域模型同步代码。我希望这篇入门级文章已经向您展示了 Java 数据绑定框架是如何能够让您从这些工作中解脱出来的。附带的好处是这些数据绑定框架在与适当的 GUI 设计模式结合使用时能够提高可测试性。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |