人机交互基础教程第6章人机交互界面表示模型与实现解读.ppt

人机交互基础教程第6章人机交互界面表示模型与实现解读.ppt

  1. 1、本文档共133页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
6.3.1 窗口系统结构 窗口系统一般有三种结构: 在各个应用程序内部实现和管理多任务,由于每个应用程序都需要处理复杂的多任务管理,且移植起来不方便,这种结构有一定的缺点。 在操作系统核心集中处理多任务管理,应用程序不再对多任务进行管理,由于过分的依赖操作系统,应用程序需要处理因操作系统的不同而引起的差异,因此移植起来也不太方便。 多任务的管理可由独立的管理程序进行管理,应用程序通过调用该管理程序提供的接口来实现对多任务的管理和设备的独立性操作,因为该管理程序可以在不同的操作系统下运行,因而基于此管理程序开发的交互系统是最容易移植的。 一种客户/服务器结构 资源管理器 是整个窗口系统的核心,负责多任务的管理,并通过设备驱动程序来管理外部设备 。 设备驱动程序 负责外部设备的驱动,接受输入设备的输入,并将输入数据转换成统一的格式,通过设备驱动程序实现设备的独立性 。 抽象终端 负责和客户应用程序的接口,对每个应用程序由窗口管理程序为其分配一个抽象终端。 工作方式 当外部设备产生一个输入请求,如鼠标单击某一个窗口内的一点,资源管理程序从设备驱动程序获得鼠标数据,产生鼠标驱动事件,并将该事件分发给与该窗口相对应的抽象终端,与抽象终端相对应的应用程序接受事件并进行相应的处理。 实现时,客户程序和服务器程序可以在一台机器上,也可以分布在不同的机器上。 6.3.2交互事件的处理 在客户/服务器结构中,交互系统的应用程序通过调用服务器端一个独立的管理程序来管理多任务和提供设备的独立性,相当于客户-服务器结构中的客户。 交互应用一般来讲是由用户驱动的,即用户从外部设备上输入数据,应用程序的动作由用户输入来决定,应用程序可以采用下面的两种控制流程实现用户的交互。 1.应用程序内部事件处理循环 服务器把用户的输入作为事件送给客户应用程序,对服务器而言,要决定把输入事件送给哪个客户程序。客户应用程序对传给它的所有事件都做出响应,不同的事件采取不同的处理方式 2.事件注册方式 窗口系统为每一个应用程序建立一个事件处理中心,事件处理中心负责事件的处理。应用程序将自己感兴趣的事件处理事先通过登记注册的方式通知事件处理中心,注册时同时告诉事件处理中心当事件产生时,应用程序需要进行的处理(回应过程)。 当事件处理中心从窗口系统接收一个事件,就分析这个事件属于哪个应用程序,然后把事件和控制转向该事件注册的回应过程,处理完后,回应过程把控制返还给事件处理中心,事件中心继续接收事件或者请求终止。 2.事件注册方式 这种方式的好处是一般应用程序不需要设计事件处理循环,只关心应用程序需要处理哪些交互事件,当事件发生时应用程序如何处理。当应用程序不需要处理某个事件时,应用程序还可以随时取消注册。因为如果只处理注册的事件,事件处理中心处理事件的效率就会比较高。 6.3.3 交互组件开发包 对于一般的窗口系统,输入和显示是分离的,许多语言提供了用于开发交互系统的开发软件包,交互系统开发软件包在支持窗口管理的基础上增加了另一种抽象,它把输入和输出的行为结合起来。 按钮交互对象行为 6.3 窗口系统 6.3.4 交互框架 桌面应用框架 6.3 窗口系统 下拉菜单示例 工具栏示例 6.3 窗口系统 树形菜单示例 状态栏示例 标签页方式工作区示例 6.3 窗口系统 6.3.5 MVC模式和基于Struts的实现 MVC(Model View controller)模型最初是在Smalltalk程序语言中被用来构建用户界面的,是目前广泛流行的一种软件设计模式。MVC把一个应用的输入、处理、输出流程按照模型 (model)、视图(View)和控制(Controller)的方式进行分离,形成模型层、视图层、控制层三个层次。 视图(View) 视图代表用户交互界面,对于Web应用来说,可以概括为HTML界面,但有可能为XHTML、XML和Applet。 一个应用可能有很多不同的视图,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。 业务流程的处理交给模型(Model)处理。 模型 (model) 模型负责业务流程/状态的处理以及业务规则的制定 业务流程的处理过程对其它层来说是透明的,模型接受视图请求的数据,并返回最终的处理结果。 业务模型的设计可以说是MVC最主要的核心,模型包含完成任务所需要的所有的行为和数据。 MVC并没有提供模型的设计方法,而只告诉你应该组织管理这些模型,以便于模型的重构和提高重用性。 控制(Controller) 控制器将模型映射到界面中,处理用户的输入,每个界面有一个控制器。 是一个接收用户输入、创建或修改的模型对象。 在

文档评论(0)

shuwkb + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档