选择显示字体大小

java实现数据驱动的命令用户界面

摘 要: 本文提出并实现了一种数据驱动的命令界面生成方案, 以一致的方式生成所有命令的界面元素,能方便灵活地适应命令的修改变化。

  关键词: 数据驱动;命令; java

  在典型的企业应用软件中,应用一般会提供一组命令作为用户与应用程序之间的接口。随着企业需求的变化和技术的发展,要求对原来的命令需要做出调整,比如增加命令,修改命令参数等,这可能需要修改应用程序,以生成调整后的命令界面。本文提出并实现了一种数据驱动的命令界面生成方案,该方案以一致的方式来处理所有命令,最大限度地保证命令的增加、删除、修改,不需要或很少需要修改应用程序。

  1 数据驱动方案的提出和思想

  通常情况下,应用程序根据自己的业务逻辑进行界面设计, 对于一条具体的命令,开发人员需要编写界面生成代码以生成该命令的界面元素,如菜单项、参数输入对话框等.在应用的命令数量不大时,这是比较直接的做法.但当应用包含有成百上千条命令时,还要逐一地为每条命令生成界面元素,无疑是件繁琐的事情。此外,随着应用的升级,可能要求对原有的命令系统做出修改,这又要求修改代码以生成修改后的命令界面元素。我们希望能有一种实现方法可以方便灵活生成命令的界面元素并适应命令将来调整的需要,而对我们程序的影响最小。

  考察应用的所有命令可发现,虽然各命令的功能意义不同,但命令组成形式却有很大的相似性,都包括命令标识和零个或多个参数,而且为每条命令编写的界面生成代码也非常近似。因此我们可以以一种统一的方法来处理所有命令。数据驱动的命令界面生成方案的主要思想正基于此,以某种方式对应用的所有命令统一进行描述,通过描述数据来驱动所有命令的界面元素生成。本文使用数据库表完成对所有命令的原始描述。

  参数的性质是通过其数据类型来反映的,只需根据实际应用,定义本应用中参数可能的各种数据类型.而数据类型的种类总是有限的,通过对每一种数据类型给出其处理办法,就可以实现对为数众多的参数的处理转为对有限种的数据类型的处理。

  2 命令的数据库表描述

  以数据库表中对命令的描述为出发点, 以后命令的增加、删除、修改及命令参数的变动只需修改描述表中的相关项.命令一般包括命令标识和参数,但为更有效地对命令进行组织管理和适应更复杂应用的需要,对命令的描述通过定义命令类型描述表、命令描述表、命令参数描述表、枚举描述表四级结构来完成.命令类型字段和命令字段联合确定一条唯一的命令,提供直观的名字字符和数值编码两种方式以适应不同需要。参数表中定义了参数类型和取值要求,枚举表是为特殊的参数类型设置的,其取值是在一些选择项中选取。各级表除了给出本表定义对象的基本属性外,如果有下级元素,还给出了下级元素的个数及其在下级表中的位置,通过这种方式将一条命令的各构成部分关联起来.下面给出这种表结构的一个简单示例。

  · 命令类型描述表:描述命令的分类.
 

唯一标志编号名字命令的个数命令描述位置
ct_00010248系统管理类2 c_00010

  表1 命令类型描述

  · 命令描述表: 描述具体命令

唯一标志编号名字参数的个数参数描述位置
c_000101 系统联络请求1 p_00010
c_000112 系统复位0  
       表2 命令描述表

  · 命令参数描述表: 描述各命令的参数.参数的值是在用户调用命令时设定的,事先无法确定.我们只是对参数的性质做出一些约束。数据类型的种类视具体应用而定,应用可以为每种类型指定一数值编号,在表中填写参数数据类型的编号值。参数的最大值最小值给出了参数的取值范围或长度限制。

唯一标志 名字 数据类型最大值最小值 枚举的个数 枚举描述位置
p_00010 是否要求响应9   2 e_00010
p_00020源文件名1332  0  
   表3 命令参数描述表

  · 枚举描述表:给出枚举类型参数的枚举项

唯一标志 枚举名 枚举值
e_00010 要求响应1
e_00011不要求响应0
       表4:枚举描述表

  以上表1只表4的内容仅提供一般性的示范,实际应用可根据业务逻辑的需要定义自己的命令内容,命令的规模不受限制.


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons