现在的位置: 首页 > 综合 > 正文

通用查询项目实现模式及再利用

2014年01月25日 ⁄ 综合 ⁄ 共 2204字 ⁄ 字号 评论关闭

如今的网络发展日新月异,人们不得不惊叹其他发展更新速度,与其相对应的应用也逐渐由C/S结构向B/S结构演变。B/S结构的应用系统已发展成为目前软件行业的应用主流,但大家在实现B/S结构系统的同时,不短地赞叹C/S开发系统是如何之快,尽管越来越多不同的B/S结构的开发工具可以帮助开发人员加快项目的开发进度,但开发一个B/S系统还是比较慢,甚至有人对比分析说B/S结构的开发效率仅为C/S结构的1/3。其实做过项目的人都知道,在项目好多的要做的内容的具有极大的相似性,因此有些人说有些东西只是量的问题,相互拷贝文件即可实现另一个页面功能,现实也的确这样。下面就说说系统中用到的查询。

大家在经过多年的项目经验中,可能都知道用户查询到处用到,这种界面的展现大体相同,具体来说是用户选择一些条件点击查询按钮后,在页面中把符合条件的记录显示在列表中,对于列表中的记录用户可以做一步处理。但由于项目有其特殊性,用户的需要并不是一蹴而就的,一般说来,用户没有看到最后的界面,在上线之前他的需求总是有些变化,其他深奥的不说。但在应用想指出的是系统查询具有通用性。开始设计可能知道用户通常按什么条件进行查询,但不确定到现场用户会加些什么样的条件,这就给开发人员带来了麻烦,程序有些部分是不定的,也就是实现页面需要不停地修改、地改,修改一两次可能开发人员可能忍受,但经常地改,你可想开发人员的心情会怎样?在这里并不是说需求分析员和设计人员的问题,但现目前现实生活确实总有这样的事情发生。不过呢,经过总结,对于查询通用的实现模式,请下现面的常见的查询设计图形:

从上面的展现界面不难看出,整个页面分为三个区:

1、  查询条件区:

查询条件的个数是不定的,录入条件值的类型也是不定的。

2、  查询结果区:

查询记录区,一般是分页控制区和结果集,一般用户查询到记录的目的有两种:一是查询详情,另一种是对当前记录进行新增(create)、修改(update)、删除(delete)操作。

从上面展示结果可以看出在结果集中用户可能做以下操作:

ü         点击链接可以查询记录详情;

ü         点击每条记录后的“删除”操作,可以执行当前删除操作;

ü         可以点击翻页功能可以分页查询符合条件的记录,可以调整当前页面内的记录数,可以直接跳转页面功能;还可能对当前页的记录进行排序。

3、  对记录处理区:

此功能区用户可以对记录结果集中的选中的单条记录进行CUD操作。

从以上分析不难看出,常用的查询是有规律可寻的,我想大多数公司已实现了上面的功能,他们实现的方法可能是基于数据库,也可能基于XML对查询进行定义,当然还有其他方式,这当然这都是很好的解决方案。以上实现方法对查询界面展现比较死板的展现绝对可用、可行,也比较实用,只需要修改下数据配置或XML配置文件一个用户查询界面就展现出来了。但随着项目的开展深入,你会发现这种通用配置对一般的要求界面展现是可行,设计师可能在有的查询界面分加入一些其他功能,请看下面的展现界面:

在图上以红色框进行区分,设计者需要增加以下功能;

ü         增加查询条件:由于当前的查询条件还不能准确查询到用户需要的数据,需要增加查询条件缩小过滤条件,所以增加“更多查询按钮”;

ü         增加导入文件功能:由于规则以前就存在,用户不愿意一条条录入记录,需要批量从其他Excel文件中导入;

ü         增加文件模板下载功能:为了用户提供规则模板Excel文件;

ü         增加取空功能:由于此页面经常被项目其他页面调用,所以需要选择功能,但有时候用户不需要选择记录,所以提供“取空”功能;

ü         增加选择功能:同上

针对以上需求可以有以下解决方案:

1、  如果这个查询界面是程序人员单独开发,当前再由程序修改源码即可;

2、  利用工具对原来的实例界面进行修改;

我想通过配置(数据表中展现配置或XML定义)很难实现上面的界面,当然所见即所得进行开发界面,这是大多开发人员所希望的,有时候在开发B/S界面时相对C/S慢多了的情况下,你会想感受叹可视化的DelphiPowbuilder这些开发工具是如何之好,在多年的项目中,觉得在B/S开发中,没有一种哪一种工具可以快速帮助我们相当快速进行开发,基本上只有几种工具一起结合才可能更快。通过总结,在B/S项目中查询是完全可以通用,且这部分界面开发在项目中占很大一部分比例,当然开发人员可以把有些相似的界面拷贝可以加快开,但随着用户有些小需求或设计师的设计目的会不断的小变化,这个开发人员修改起来也烦人,或许完成一些功能的修改这对于开发人员来说小事情,我总想开发人员有更多的时间去学习此新知识和了解业务,使他们在工作中更快地成长。因此开发工具来实现灵活的查询界面,下面是对一种B/S通用查询开发工具UCanDoIt中的实现通用查询的设计与实现:

设计界面

看上去这个B/S设计工具很些象FrontPage展现界面,它有常用的HTML控件,如texttextareaselectframesettable等控件,也有我们在B/S开发中常用控件,如日历选择控件、数据库控件、翻页控件、数据结果集显示控件等等。

UCanDoIt实现有两模式:根据模板创建和全新创建面页。下面看看在UCanDoIt设计工具中实现图1功能,以下是些截图:

设计主界面:

设计界面

 

抱歉!评论已关闭.