Eclipse 中的 JFace 数据绑定,第 3 部分: 使用高级功能(4/19)

 
前一页第 4 页,共 19 页后一页


对本教程的评价

帮助我们改进这些内容


引入 Presentation Model

桌面应用程序开发的一种核心模式是 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 模式
Presentation Model 模式 
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值