论文部分内容阅读
摘要:本文介绍了基于数据绑定的交互界面设计模式,并详细阐述了其基本技术及特点,通过采用该方法可以提高用户界面的开发效率和质量。基于数据绑定的界面开发方法,实现了界面显示和系统功能分离的界面框架。采用数据绑定的方式,当数据发生变化时能够通知界面自动进行更新,不需要手动添加代码通知更新界面,这样既确保了后台逻辑数据和界面数据的一致性,又使得界面更新及时。该界面开发模式,实现了界面与底层模块间的彻底分离,降低了界面间的耦合度,可以应用在那些需要操作大量数据并将其反映在多个界面部分中的系统中。
关键词:数据绑定;交互界面;开发模式
中图分类号:TP393.09文献标识码:A文章编号:1007-9599 (2012) 04-0000-02
一、引言
交互界面是软件应用系统的重要组成部分,是用户和计算机之间交互的通道。随着软件技术的飞速发展,人们对交互界面的要求越来越高。因此,界面的开发几乎占据了软件开发周期一半的资源,极大的影响了软件开发的效率。而现有的软件工程方法对交互界面的设计描述和支持都不够,为了提高用户界面的开发效率及质量,界面的设计开发和系统的设计开发分离是一种必然趋势。
目前,交互界面的质量已经成为影响软件产品质量的一个至关重要的因素。本文提出的基于数据绑定的界面设计模式,是针对那些用户应用程序中,需要操作数据,并希望操作结果在界面上多个部分反映出来的应用。应用此模式,能够在界面搭建的过程中,灵活修改界面而不会对其他部分有过多的影响。实现了界面间的低耦合。最主要的是,该模式利用数据绑定,能够主动通知界面更新,而不需要手动添加代码更新界面,使开发者不必关心界面的更新,设计者专注于界面元素的设计,这样既保证了界面数据与后台逻辑数据的一致性,又保证了及时的更新,提高了开发的效率。
二、基本界面开发模式介绍
人机交互模型是对人机交互系统中的机制进行描述的概念模型。现实工程中,随着界面功能的增加,交互界面的代码在系统设计中占据70%以上。为了提高软件的开发效率,目前国内外已经提出了多种交互界面的开发模型以提高交互界面的开发效率,如用户模型、对话控制模型、结构模型和面向对象的模型等等。这些模型从不同角度描述了交互过程中人机的特点和交互活动。
(一)Norman模型
该模型是最早提出的一种设计模型,它将人机交互分成了执行和评估两个阶段。通常由建立目标,形成意图,动作描述,执行动作,理解系统状态,解释系统状态,根据目标和意图进行评估这七部分构成,该模型完全以用户为中心,对整个应用系统而言仅考虑到系统的交互界面,是一个不完整的模型。
(二)Seeheim模型
该模型于1985年被提出,包括应用接口,对话控制及表示部件三部分。该模型界面结构清晰,适合界面与应用程序分开执行,得到了较好的应用。
该模型每个逻辑部分都有不同的功能和描述方法。表示部件是人机接口的物理层,对话控制部件是人机交互的主要部件,应用接口是应用程序功能的一种表示。该模型强调对话控制部件的作用,适合于界面与应用程序分别执行的情况,不支持直接操作语法和语义的要求,不适用于直接操作的图形用户界面。
(三)ConcurTaskTrees模型
任务模型常用于描述应用系统完成功能时所执行的操作序列,帮助理解应用系统并进行易用性评价,可以重用任务设计模型。任务模型需要有较好的表达,精准的语义符号;要有系统化的方法;模型中的信息可以被自动读取。ConcurTaskTrees模型是一种基于图形符号的任务模型的方法。
基于任务的模型方法可以根据设备的不同生成相应界面,把界面的设计分解为对不同构造的模型。该模型需要用高度专业化的标记及符号来进行表达,注意力主要集中于界面的某个方面。
(四)PAC模型
该模型分为:表示-抽象-控制(Presentation--Abstraction--Control,PAC)三层。每层结构为一个单位,定义了交互软件系统的结构。每个层次负责应用程序功能的某一特定方面,由陈述、控制和提取三个组件构成。
该模型垂直流表示对象间,层次间的通信,水平流表示对象内部间的通信。陈述部分定义用户的交互行为;提取部分对应功能的语义信息,实现具体功能;控制部分负责通讯并维护陈述和提取的一致性。最底层的PAC实现与终端用户的交互,顶层的PAC用于实现交互系统中与应用有关的功能。
(五)MVC模式
MVC(Model-View-Control)模式也是一种面向对象的设计模式。该模式中,模型是数据,用于表示对象的状态和行为;视图是用户界面,负责对象的可视属性的描述;控制器则处理用户的输入行为并给控制器发送事件。
该模式中,控制器负责转发视图的请求,同时对请求进行处理。控制器提高了应用程序的灵活性和可配置性,可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段。但是该模式对于简单的系统界面增加了实现的复杂性。它强行的划分模型,视图以及控制器,使得结构更新冗余,降低了系统的效率。同时该模式对于未变化数据的频繁更新也会增加系统负担。
三、数据绑定
界面的主要功能就是提供用户操作软件的一个接口,它可以显示软件功能和数据。当界面传递数据较多时,各个界面以及界面的控件之间就会产生大量的更新活动,当界面之间数据相互产生关联时,某个数据的变化会影响对应的界面或者控件,比如增加一个按钮,关闭一个表单等等。这些数据的关联使得界面之间的耦合度增大,当界面间关联度增大后,如果数据更新不准确就会造成系统数据不一致,导致界面操作和后台数据产生误差,从而引起了系统的错误。
以上各种模式在该种情况下运用结果不是十分理想,实际操作中均存在过多的耦合。如果所有由数据逻辑导致的界面更新活动能够独立于界面存在,界面之间可以由统一的控制部分自动通知更新。这样,就可以减少界面之间的耦合度,提高数据逻辑更新的响应速度。基于以上原因,在交互数据过多的工程中,我们提出了采用基于数据绑定的界面开发模式。其特点在于界面之间相互独立,通过数据层连接各个界面,整个界面都处于离散的状态,完全分离了UI设计人员和程序员的工作,极大地提高了软件开发的效率。
数据绑定的思想是把需要的数据封装起来并能够检索,将其结果呈现给用户的过程。封装好的组件可以用来显示数据,将代码封装进数据绑定的控件中。数据绑定还提供简单的模式,用于规范编码将数据绑定到要显示的控件。目前很多开发框架都可以支持数据绑定式。
四、WPF对数据绑定的支持实例
WPF(Windows Presentation Foundation)是微软公司的新一代图形界面引擎,为各种应用提供统一的界面技术。在WPF下实现数据绑定需要具备四个组件:绑定目标对象、目标属性、绑定源,以及要使用的绑定源中值的路径。如果绑定具有正确设置并且数据提供正确通知的话,当数据更改值时,绑定到数据的元素会自动反映更改。数据绑定还意味着如果元素中数据的外部表现形式发生更改,基础数据可以自动更新来反映更改。
在WPF中,数据绑定就是将用户界面的控件和各种有效数据进行关联的过程。它可以以最少的代码处理关联,除了单项绑定外,还有双向绑定(Two Way Binding),Converter等功能,省去了很多繁琐的维护工作。数据绑定中,如果需要将两个界面对象进行关联,则将其中一个界面控件的属性作为源对象绑定到另外一个控件的属性上,同时指明绑定的关键字和路径,这样这两个就成为指定的源对象和源属性。数据类型较多时可以将整个数据对象用作绑定源,也可通过使用Source或DataContext属性来指定绑定源,然后提供一个空白的绑定声明:{Binding}。这种方法使用场合较多,可以绑定到类型为字符串的对象;可以绑定到多个属性的对象;也可以绑定到集合对象。
五、总结
设计模式是一套能够被反复使用、多数人知晓的、具有代码设计经验的方法总结。使用设计模式是为了重用代码、保证代码可靠性。采用基于数据绑定的界面设计方法,能够利用复用解决方案,能够在解决问题时获得先发优势,可以从中学习他人的经验,站在巨人的肩膀上前进从而做到事半功倍。
参看文献:
[1]Hussery.A Formal Object-Oriented User-Interface Design Software Engineering Conference,2000.Proceedings 2000 Australian,2000,4:129-137
[2]Van Welie,M,Vander Veer,G&Eliens.A.(2000),Patterns as Tools for User Interface Design,International Workshop on Tools for Working with Guidelines,Biarritz,France,313-324
[3]范志先,孙殿柱,李延瑞.开发用户交互界面的新方法[J].工程图学学报,2008,29
[4]王瑜.基于模板的数据层一表现层映射引擎[J].计算机工程,2003,29:12
[5]朱军,张高,华庆一.交互式用户界面的形式化描述与验证[J].软件学报,1999,10
关键词:数据绑定;交互界面;开发模式
中图分类号:TP393.09文献标识码:A文章编号:1007-9599 (2012) 04-0000-02
一、引言
交互界面是软件应用系统的重要组成部分,是用户和计算机之间交互的通道。随着软件技术的飞速发展,人们对交互界面的要求越来越高。因此,界面的开发几乎占据了软件开发周期一半的资源,极大的影响了软件开发的效率。而现有的软件工程方法对交互界面的设计描述和支持都不够,为了提高用户界面的开发效率及质量,界面的设计开发和系统的设计开发分离是一种必然趋势。
目前,交互界面的质量已经成为影响软件产品质量的一个至关重要的因素。本文提出的基于数据绑定的界面设计模式,是针对那些用户应用程序中,需要操作数据,并希望操作结果在界面上多个部分反映出来的应用。应用此模式,能够在界面搭建的过程中,灵活修改界面而不会对其他部分有过多的影响。实现了界面间的低耦合。最主要的是,该模式利用数据绑定,能够主动通知界面更新,而不需要手动添加代码更新界面,使开发者不必关心界面的更新,设计者专注于界面元素的设计,这样既保证了界面数据与后台逻辑数据的一致性,又保证了及时的更新,提高了开发的效率。
二、基本界面开发模式介绍
人机交互模型是对人机交互系统中的机制进行描述的概念模型。现实工程中,随着界面功能的增加,交互界面的代码在系统设计中占据70%以上。为了提高软件的开发效率,目前国内外已经提出了多种交互界面的开发模型以提高交互界面的开发效率,如用户模型、对话控制模型、结构模型和面向对象的模型等等。这些模型从不同角度描述了交互过程中人机的特点和交互活动。
(一)Norman模型
该模型是最早提出的一种设计模型,它将人机交互分成了执行和评估两个阶段。通常由建立目标,形成意图,动作描述,执行动作,理解系统状态,解释系统状态,根据目标和意图进行评估这七部分构成,该模型完全以用户为中心,对整个应用系统而言仅考虑到系统的交互界面,是一个不完整的模型。
(二)Seeheim模型
该模型于1985年被提出,包括应用接口,对话控制及表示部件三部分。该模型界面结构清晰,适合界面与应用程序分开执行,得到了较好的应用。
该模型每个逻辑部分都有不同的功能和描述方法。表示部件是人机接口的物理层,对话控制部件是人机交互的主要部件,应用接口是应用程序功能的一种表示。该模型强调对话控制部件的作用,适合于界面与应用程序分别执行的情况,不支持直接操作语法和语义的要求,不适用于直接操作的图形用户界面。
(三)ConcurTaskTrees模型
任务模型常用于描述应用系统完成功能时所执行的操作序列,帮助理解应用系统并进行易用性评价,可以重用任务设计模型。任务模型需要有较好的表达,精准的语义符号;要有系统化的方法;模型中的信息可以被自动读取。ConcurTaskTrees模型是一种基于图形符号的任务模型的方法。
基于任务的模型方法可以根据设备的不同生成相应界面,把界面的设计分解为对不同构造的模型。该模型需要用高度专业化的标记及符号来进行表达,注意力主要集中于界面的某个方面。
(四)PAC模型
该模型分为:表示-抽象-控制(Presentation--Abstraction--Control,PAC)三层。每层结构为一个单位,定义了交互软件系统的结构。每个层次负责应用程序功能的某一特定方面,由陈述、控制和提取三个组件构成。
该模型垂直流表示对象间,层次间的通信,水平流表示对象内部间的通信。陈述部分定义用户的交互行为;提取部分对应功能的语义信息,实现具体功能;控制部分负责通讯并维护陈述和提取的一致性。最底层的PAC实现与终端用户的交互,顶层的PAC用于实现交互系统中与应用有关的功能。
(五)MVC模式
MVC(Model-View-Control)模式也是一种面向对象的设计模式。该模式中,模型是数据,用于表示对象的状态和行为;视图是用户界面,负责对象的可视属性的描述;控制器则处理用户的输入行为并给控制器发送事件。
该模式中,控制器负责转发视图的请求,同时对请求进行处理。控制器提高了应用程序的灵活性和可配置性,可以用来连接不同的模型和视图去完成用户的需求,也可以为构造应用程序提供强有力的手段。但是该模式对于简单的系统界面增加了实现的复杂性。它强行的划分模型,视图以及控制器,使得结构更新冗余,降低了系统的效率。同时该模式对于未变化数据的频繁更新也会增加系统负担。
三、数据绑定
界面的主要功能就是提供用户操作软件的一个接口,它可以显示软件功能和数据。当界面传递数据较多时,各个界面以及界面的控件之间就会产生大量的更新活动,当界面之间数据相互产生关联时,某个数据的变化会影响对应的界面或者控件,比如增加一个按钮,关闭一个表单等等。这些数据的关联使得界面之间的耦合度增大,当界面间关联度增大后,如果数据更新不准确就会造成系统数据不一致,导致界面操作和后台数据产生误差,从而引起了系统的错误。
以上各种模式在该种情况下运用结果不是十分理想,实际操作中均存在过多的耦合。如果所有由数据逻辑导致的界面更新活动能够独立于界面存在,界面之间可以由统一的控制部分自动通知更新。这样,就可以减少界面之间的耦合度,提高数据逻辑更新的响应速度。基于以上原因,在交互数据过多的工程中,我们提出了采用基于数据绑定的界面开发模式。其特点在于界面之间相互独立,通过数据层连接各个界面,整个界面都处于离散的状态,完全分离了UI设计人员和程序员的工作,极大地提高了软件开发的效率。
数据绑定的思想是把需要的数据封装起来并能够检索,将其结果呈现给用户的过程。封装好的组件可以用来显示数据,将代码封装进数据绑定的控件中。数据绑定还提供简单的模式,用于规范编码将数据绑定到要显示的控件。目前很多开发框架都可以支持数据绑定式。
四、WPF对数据绑定的支持实例
WPF(Windows Presentation Foundation)是微软公司的新一代图形界面引擎,为各种应用提供统一的界面技术。在WPF下实现数据绑定需要具备四个组件:绑定目标对象、目标属性、绑定源,以及要使用的绑定源中值的路径。如果绑定具有正确设置并且数据提供正确通知的话,当数据更改值时,绑定到数据的元素会自动反映更改。数据绑定还意味着如果元素中数据的外部表现形式发生更改,基础数据可以自动更新来反映更改。
在WPF中,数据绑定就是将用户界面的控件和各种有效数据进行关联的过程。它可以以最少的代码处理关联,除了单项绑定外,还有双向绑定(Two Way Binding),Converter等功能,省去了很多繁琐的维护工作。数据绑定中,如果需要将两个界面对象进行关联,则将其中一个界面控件的属性作为源对象绑定到另外一个控件的属性上,同时指明绑定的关键字和路径,这样这两个就成为指定的源对象和源属性。数据类型较多时可以将整个数据对象用作绑定源,也可通过使用Source或DataContext属性来指定绑定源,然后提供一个空白的绑定声明:{Binding}。这种方法使用场合较多,可以绑定到类型为字符串的对象;可以绑定到多个属性的对象;也可以绑定到集合对象。
五、总结
设计模式是一套能够被反复使用、多数人知晓的、具有代码设计经验的方法总结。使用设计模式是为了重用代码、保证代码可靠性。采用基于数据绑定的界面设计方法,能够利用复用解决方案,能够在解决问题时获得先发优势,可以从中学习他人的经验,站在巨人的肩膀上前进从而做到事半功倍。
参看文献:
[1]Hussery.A Formal Object-Oriented User-Interface Design Software Engineering Conference,2000.Proceedings 2000 Australian,2000,4:129-137
[2]Van Welie,M,Vander Veer,G&Eliens.A.(2000),Patterns as Tools for User Interface Design,International Workshop on Tools for Working with Guidelines,Biarritz,France,313-324
[3]范志先,孙殿柱,李延瑞.开发用户交互界面的新方法[J].工程图学学报,2008,29
[4]王瑜.基于模板的数据层一表现层映射引擎[J].计算机工程,2003,29:12
[5]朱军,张高,华庆一.交互式用户界面的形式化描述与验证[J].软件学报,1999,10