Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(4/19)
2008-08-28 18:20
417 查看
|
桌面应用程序开发的一种核心模式是 Model-View-Controller (MVC) 模式。此模式不是十分适合现代 UI 开发。每个小部件都是自身的小型 MVC 三元组,在小部件级别留给应用程序可做的操作很少。但是,在应用程序级别,就要特别关注需要处理的启用、验证和数据同步等方面。
尝试解决这些问题的一种模式是 Model-View-Presenter 模式。使用该模式,UI 控件将委托控制器对象来完成一些业务任务,例如单击按钮时 “保存”。将业务逻辑移至控制器是迈向可测试性的正确一步。但是,这种模式没有注意到一个重要因素:控制器逻辑经常需要访问 UI 中的数据和更改状态。如果此状态保存在小部件中,例如文本小部件的启用属性,那么测试控制器就需要完整的 UI 或桩来假冒其状态。
将状态和业务逻辑从 UI 中提取出来就可以修正这种情况,这种方法是由另一个名为 Presentation Model 的 MVC 模式提出来的。可以在 Presentation Model 中测试业务逻辑和状态更改而无需使用 UI 代码。这种分离还使 UI 与 Presentation Model 之间的交互仅限于同步数据和状态。
图 2 显示了 Presentation Model 模式的示意图。了解了一些关于 Presentation Model 的背景知识之后,现在就可以使用这种结构更优的模式来转换受损的示例。
图 2. Presentation Model 模式
相关文章推荐
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(8/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(1/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(9/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(2/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(14/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(3/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(15/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(5/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(16/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(6/19)
- Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(7/19)
- 了解 Eclipse 中的 JFace 数据绑定,第 1 部分: 数据绑定的优缺点
- 了解 Eclipse 中的 JFace 数据绑定,第 2 部分: 绑定的基础知识
- 使用C1TrueDBGrid表格控件实现数据绑定、分组和过滤功能
- 使用 Eclipse 在 Google App Engine 上创建 mashup,第 3 部分: 使用 RESTful Web 服务
- jface databinding:使用CheckboxTableViewer实现表中(Set)对象与CheckTable中选中条目数据绑定
- 基于Netty5.0高级案例二之WebSocket中关于使用ProtoBuf传输数据介绍js部分
- 在 Eclipse Workbench 之外使用 Eclipse GUI,第 1 部分: 单独使用 JFace 和 SWT
- 在 Eclipse Workbench 之外使用 Eclipse GUI,第 2 部分: 使用 JFace 图像注册表
- 使用 Google Web Toolkit、Apache Derby 和 Eclipse 构建 Ajax 应用程序,第 3 部分: 通信