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

2016-02-19 13:44 7 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是Java实现数据驱动的命令用户界面,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】

摘 要: 本文提出并实现了一种数据驱动的命令界面生成方案, 以一致的方式生成所有命令的界面元素,能方便灵活地适应命令的修改变化。
  
  要害词: 数据驱动;命令; Java
  
   !-- frame contents -- !-- /frame contents --   在典型的企业应用软件中,应用一般会提供一组命令作为用户与应用程序之间的接口。随着企业需求的变化和技术的发展,要求对原来的命令需要做出调整,比如增加命令,修改命令参数等,这可能需要修改应用程序,以生成调整后的命令界面。本文提出并实现了一种数据驱动的命令界面生成方案,该方案以一致的方式来处理所有命令,最大限度地保证命令的增加、删除、修改,不需要或很少需要修改应用程序。
  
  1 数据驱动方案的提出和思想
  
  通常情况下,应用程序根据自己的业务逻辑进行界面设计, 对于一条具体的命令,开发人员需要编写界面生成代码以生成该命令的界面元素,如菜单项、参数输入对话框等.在应用的命令数量不大时,这是比较直接的做法.但当应用包含有成百上千条命令时,还要逐一地为每条命令生成界面元素,无疑是件繁琐的事情。此外,随着应用的升级,可能要求对原有的命令系统做出修改,这又要求修改代码以生成修改后的命令界面元素。我们希望能有一种实现方法可以方便灵活生成命令的界面元素并适应命令将来调整的需要,而对我们程序的影响最小。
  
  考察应用的所有命令可发现,虽然各命令的功能意义不同,但命令组成形式却有很大的相似性,都包括命令标识和零个或多个参数,而且为每条命令编写的界面生成代码也非常近似。因此我们可以以一种统一的方法来处理所有命令。数据驱动的命令界面生成方案的主要思想正基于此,以某种方式对应用的所有命令统一进行描述,通过描述数据来驱动所有命令的界面元素生成。本文使用数据库表完成对所有命令的原始描述。
  
  参数的性质是通过其数据类型来反映的,只需根据实际应用,定义本应用中参数可能的各种数据类型.而数据类型的种类总是有限的,通过对每一种数据类型给出其处理办法,就可以实现对为数众多的参数的处理转为对有限种的数据类型的处理。
  
  2 命令的数据库表描述
  
  以数据库表中对命令的描述为出发点, 以后命令的增加、删除、修改及命令参数的变动只需修改描述表中的相关项.命令一般包括命令标识和参数,但为更有效地对命令进行组织治理和适应更复杂应用的需要,对命令的描述通过定义命令类型描述表、命令描述表、命令参数描述表、枚举描述表四级结构来完成.命令类型字段和命令字段联合确定一条唯一的命令,提供直观的名字字符和数值编码两种方式以适应不同需要。参数表中定义了参数类型和取值要求,枚举表是为非凡的参数类型设置的,其取值是在一些选择项中选取。各级表除了给出本表定义对象的基本属性外,假如有下级元素,还给出了下级元素的个数及其在下级表中的位置,通过这种方式将一条命令的各构成部分关联起来.下面给出这种表结构的一个简单示例。
  
  · 命令类型描述表:描述命令的分类.
    唯一标志编号名字命令的个数命令描述位置ct_00010248系统治理类2 c_00010
  表1 命令类型描述
  
  · 命令描述表: 描述具体命令
  
  唯一标志编号名字参数的个数参数描述位置c_000101 系统联络请求1 p_00010c_000112 系统复位0     表2 命令描述表
  
  · 命令参数描述表: 描述各命令的参数.参数的值是在用户调用命令时设定的,事先无法确定.我们只是对参数的性质做出一些约束。数据类型的种类视具体应用而定,应用可以为每种类型指定一数值编号,在表中填写参数数据类型的编号值。参数的最大值最小值给出了参数的取值范围或长度限制。
  
  唯一标志 名字 数据类型最大值最小值 枚举的个数 枚举描述位置p_00010 是否要求响应9   2 e_00010p_00020源文件名1332  0     表3 命令参数描述表
  
  · 枚举描述表:给出枚举类型参数的枚举项
  
  唯一标志 枚举名 枚举值e_00010 要求响应1e_00011不要求响应0   表4:枚举描述表
  
  以上表1只表4的内容仅提供一般性的示范,实际应用可根据业务逻辑的需要定义自己的命令内容,命令的规模不受限制.进入讨论组讨论。 3 数据驱动方案的Java语言实现
  
  3.1 命令的内存结构
  
  为了在程序中反映命令结构,定义CmdType、Cmd、CmdField、Enum四个类分别与数据库中的命令类型描述表、命令描述表、命令参数描述表、枚举描述表相对应.每个类包含与其对应表中各列所描述的属性,表的记录在读表到内存时表现为类的实例。下面以其中的一个类CmdType来说明.
  
  

来源:http://www.tulaoshi.com/n/20160219/1605084.html

延伸阅读
数据报(Datagram)使网络层数据单元在介质上传输信息的一种逻辑分组格式,它是一种在网络中传播的、独立的、自身包含地址信息的消息,它能否到达目的地,到达的时间,到达时内容是否会变化不能准确知道的。!-- frame contents -- !-- /frame contents --它的通讯双方是不需要建立连接的,对于一些不需要很高质量的应用程序来说,数据报...
标签: ASP
  从属列表问题(dependent list problem)"的问题时常被提出。问题时常出现于当你有两个以上的选择列表时,一个主列表有若干个选项,你希望当用户选择主列表中的某个选项时,在其他的从属列表中显示相关的选项。你可以通过eXtensible Markup Language(XML)的数据岛(data islands)来实现这一功能,把XML内嵌到你的HTML中。这一结果...
标签: ASP
  把数据库的表数据保存到文件中 我曾答应向你展示如何避免每次请求都要读取数据库和串联成XML字符串的步骤。答案就是把数据库的表数据保存到文件中;这样做有几个好处。读取文件比查询数据库并把记录集格式化成XML要快。这样做也可以简化你的HTML文件,因为你只需在HTML中包含对XML的引用。最后这样做使数据对于客户端来说是透明的...
标签: ASP
  把处理过程移到客户端 当Web服务器返回网页后,所有进一步的操作处理都在客户端进行。我原先认为如果向客户端发送一个大的数据集会使程序的速度放慢。但后来我却发现一次性发送所有数据比在客户与服务器之间来回地进行数据交换快得多。唯一可被注意到的停顿只是在IE5的XML解析器读取数据时的一个短暂的初始化停顿。 HTML文件...
此文章主要向大家描述的是Java连接MYSQL 数据库(以MySQL为例)的实际操作步骤,我们是以相关实例的方式来引出Java连接MYSQL 数据库的实际操作流程,以下就是文章的主要内容描述。 当然,首先要安装有JDK(一般是JDK1.5.X)。然后安装MySQL,这些都比较简单,具体过程就不说了。配置好这两个环境后,下载JDBC驱动mysql-connector-java-5.0.5.zip(...

经验教程

737

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部