[发明专利]UI表现和业务逻辑分离方法和系统有效
申请号: | 201010199861.9 | 申请日: | 2010-06-08 |
公开(公告)号: | CN101872305A | 公开(公告)日: | 2010-10-27 |
发明(设计)人: | 陈鸿远 | 申请(专利权)人: | 用友软件股份有限公司 |
主分类号: | G06F9/44 | 分类号: | G06F9/44 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | ui 表现 业务 逻辑 分离 方法 系统 | ||
技术领域
本发明大体上涉及软件开发领域,更具体地,涉及一种UI表现和业务逻辑分离方法和系统,其可应用于软件开发活动中实现用户界面设计和程序代码的设计分离和并行开展,同时还适用于在软件系统中支持动态用户界面和动态业务逻辑的应用场景。
背景技术
在网络和软件技术持续发展的情况下,用户期待更丰富的交互体验,从而催生了各种旨在增强用户体验、提高开发效率的开发技术,如ASP.Net、WPF(Windows Presentation Foundation,Windows表现基础)、Silverlight(银光)等。这些技术在用户界面(UserInterface,以下简称为UI)实现方面有以下共同的特性:
使用可扩展标记语言(Xml:Extensible Markup Language)描述UI元数据;
用户界面通过绑定机制获取和更新业务数据;
通过事件机制响应用户的操作;
使用代码隐藏方法使UI设计更倾向于关注用户体验,而不用过多关注与程序代码的交互;以及
UI元数据和程序代码在编译时进行关联,UI模块和代码模块一般需要确定明确的对应关系。
可见,虽然以上技术在一定程度上实现了用户界面和业务逻辑的分离,提高了开发效率和用户体验,但仍依赖于代码隐藏实现的分离方式,因而在设计和运行期间,UI模块和业务逻辑代码模块仍存在部分耦合关系。
其中,代码隐藏是指在UI元数据中以声明的方式标注相应的逻辑处理模块,指定响应用户界面的代码单元,从而实现描述界面的UI元数据和处理逻辑的代码文件在设计时相对独立。在运行期间,UI元数据和逻辑代码会被加载为同一个对象,如ASP.Net的页面对象或WPF的窗体对象,这个单独的对象既是UI对象,也是逻辑处理对象。
在通常情况下,软件的某个功能模块包括该业务数据、逻辑操作,以及用户界面(UI)。其中,业务数据是功能模块要处理或生成的数据对象,逻辑操作是对业务数据的处理过程和方法,用户界面向用户呈现业务数据,并负责把用户的操作映射为逻辑操作,并把操作的结果反馈给用户。
现有技术一般通过数据绑定、事件机制处理用户界面与业务数据和业务逻辑处理模块间的交互。具体如图1所示。
其中,数据绑定为应用程序呈现和操作业务数据提供了一种简单的途径。通过在UI对象和数据对象间建立双向通知和更新的关联通道,使得绑定一方的更改可以被直接反映到绑定的另一方而不需要业务逻辑代码的参与。
另外,事件机制是UI对象针对用户操作产生响应通知的消息机制。当用户在程序界面中执行特定的命令,比如点击按钮或菜单时,对应的按钮或菜单发出事件消息,业务逻辑模块通过处理事件消息,从而对用户操作指令做出相应的业务逻辑操作。
因此,根据现有技术的特性,程序模块设计和运行期间表现为如图2所示的形式。
也就是说,在设计时,通过代码隐藏关联界面元数据和代码文件,而在运行时,UI对象和业务逻辑对象被包装在同一个程序对象中,这个程序对象既包含用户界面呈现,又包含业务逻辑处理,同时负责这两个单元的交互。不论是在设计时还是在运行时,UI和业务逻辑都没有完全解除耦合关系,也使设计时并行开发、运行时动态切换UI或逻辑等需求难以实现。
可见,由于上述这种耦合关系的限制,在实际应用中,尤其是某些特定应用场景中,现有技术至少存在以下不足:
一、UI设计和逻辑编程的并行开展存在限制。因为UI元素依赖代码隐藏实现与逻辑代码的交互,同时逻辑代码不能完全避免对UI元素的访问,编写业务逻辑代码前,往往需要UI设计先生成代码框架,再填充逻辑代码;而UI设计的更改,通常也需要同步修改代码文件。
二、在各个企业的管理软件中,经常会有根据不同用户切换界面视图,或者相同的功能模块在不同的行业特性下执行不同的业务逻辑的需求。
因此,在现有技术中,UI模块和代码模块通常存在一一对应关系,使得动态切换界面视图和动态更改业务处理逻辑难以实现。
发明内容
鉴于上述情况,本发明旨在提供一种UI表现和业务逻辑分离方法和系统,从而解除用户界面和逻辑代码之间的强制依赖关系,以在设计期间,用户界面设计和业务逻辑编程可作为完全独立的两项工作并行开展,而在软件运行时,UI对象和业务逻辑处理对象相互独立,支持动态切换UI视图和更改逻辑处理单元。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友软件股份有限公司,未经用友软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010199861.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种三节头对拉螺栓
- 下一篇:简易拆装式套管日光灯