《可配置的程序设计.pdf》由会员分享,可在线阅读,更多相关《可配置的程序设计.pdf(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、龙源期刊网 http:/可配置的程序设计作者:赖小平来源:电脑知识与技术学术交流2008 年第 14 期摘要:可配置的程序设计是为了解决面向对象的程序设计关于接口的局限性而提出来的一种程序设计方法,其优势体现在开发人员可以使用配置文件来更改设置,而不必重编译应用程序,使得业务逻辑分离出来。本文详细介绍了一些应用程序所使用的配置文件,从而体现出可配置的程序设计的优势,程序设计必将沿着该技术路线发展下去。关键词:面向过程;面向对象;可配置;程序设计中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20880-03 1 引言随着计算机技术的发展,计算机应用领域不断扩大
2、,软件的规模及结构的复杂程度也不断增加,为了满足软件生产在质量和数量上的需求,软件开发人员不断寻求更好的软件开发技术,程序设计方法也在不断发展。从最初的面向过程的程序设计,到后来流行的面向对象的程序设计,目前可配置的程序设计以其优势得到了越来越广泛的应用。 2 面向过程的程序设计早期的计算机存储器容量非常小,人们设计程序时首先考虑的问题是如何减少存储器开销,硬件的限制不容许人们考虑如何组织数据与逻辑,程序本身短小,逻辑简单,也无需人们考虑程序设计方法问题。随着大容量存储器的出现及计算机技术的广泛应用,程序编写越来越困难,程序的大小以算术基数递增,而程序的逻辑控制难度则以几何基数递增,人们不得不
3、考虑程序设计的方法。最早提出的方法是面向过程的程序设计方法,是一种自上而下的设计方法,即分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。其考虑问题和解决问题的方法是:怎样做(HOW)怎样做(HOW)怎样做(HOW)。龙源期刊网 http:/面向过程的程序设计的优点是易于理解和掌握,这种逐步细化问题的设计方法和大多数人的思维方式比较接近。然而,过程式设计对于比较复杂的问题,或是在开发中需求变化比较多的时候,往往显得力不从心。这是因为过程式的设计是自上而下的,这要求设计者在一开始就要对需要解决的问题有一定的了解。在问题比较复杂的时候,要做到这一点会
4、比较困难,而当开发中需求变化的时候,以前对问题的理解也许会变得不再适用。事实上,开发一个系统的过程往往也是一个对系统不断了解和学习的过程,而过程式的设计方法忽略了这一点。 3 面向对象的程序设计随着信息系统的加速发展,应用程序日趋复杂化和大型化。传统的软件开发技术难以满足发展的新要求。20世纪 80年代后,面向对象的程序设计技术日趋成熟并逐渐地为计算机界所理解和接受。面向对象的程序设计方法和技术是目前软件研究和应用开发中最活跃的一个领域。面向对象设计自下而上的特性,允许开发者从问题的局部开始,在开发过程中逐步加深对系统的理解。这些新的理解以及开发中遇到的需求变化,都会再作用到系统开发本身,形成
5、一种螺旋式的开发方式。在面向对象设计中,类封装了数据,而类的成员函数作为其对外的接口,抽象地描述了类。用类将数据和操作这些数据的函数放在一起,这可以说就是面向对象设计方法的本质。面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。其考虑问题和解决问题的方法是:有谁做(WHO)谁是谁(WHO)谁怎么做(HOW)。可以明显地看出,面向对象是以功能来划分问题,而不是步骤。如果把过去十年称为“OO时代”,相信不会引起太多的异议。面向对象技术会如此受到广泛的重视,主要是面向对象的思想接近于客观世界的实际和符合人们通常的思维方式从而
6、易于为人们所接受。人们在传统的OO三要素(封装性,继承性,多态性)的基层上发展了更多的新技术,借以弥补OO的缺陷,使 OO方法和技术能够更好地解决软件开发中的问题。然而,OO技术存在一大局限性就是:它对软件职责的划分是“垂直”的。在一个标准的对象继承体系中,每一继承类主要是负责软件系统中一个特定部分的功能,对象的行为是在编译期间被决定的。OO技术的另一大问题是接口问题。在传统的OO环境下,对象开发者没有任何办法确保使用者按照自己的要求来使用接口。由于OO技术的这些缺点,按照事物发展的规律,必然促使新的程序设计方法出现来解决这些问题。龙源期刊网 http:/ 4 可配置的程序设计由于面向对象的程
7、序设计存在的局限性,软件开发者为了弥补该缺陷,提出了可配置的程序设计方法,用一个配置文件作为程序与外部的接口文件,这样软件使用者只需按照自己的要求来修改该接口文件,不需做其他任何更改就可满足不同的需求。应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,其优势体现在开发人员可以使用配置文件来更改设置,而不必重编译应用程序,使得业务逻辑分离出来。管理员可以使用配置文件来设置策略,以便影响应用程序在计算机上运行的方式。 4.1 应用服务器 JBOSS的数据源配置文件datasourceslocal-tx-datasourcejndi-namejdbc/t
8、est/jndi-nameconnection-urljdbc:oracle:thin:127.0.0.1:1521:oradb/connection-urldriver-classoracle.jdbc.driver.OracleDriver/driver-classuser-nameguest/user-namepasswordguest/passwordmin-pool-size0/min-pool-sizemax-pool-size10/max-pool-sizeexception-sorter-class-nameorg.jboss.resource.adapter.jdbc.ven
9、dor.OracleExceptionSorter/exception-sorter-class-name/local-tx-datasource/datasources龙源期刊网 http:/上面是 JBOSS的一个数据源配置接口文件,存放路径为:jboss安装路径serverdefaultdeployoracle-ds.xml,其连接数据库类型为 ORACLE,其中,定义了一个名为 jdbc/test的数据源,其参数包括JDBC的 URL,驱动类名,用户名及密码等。直接使用JDBC或者通过 JNDI 引用数据源的编程代码量相差无几,但是现在的程序可以不用关心具体JDBC参数了。在系统部署后
10、,如果数据库的相关参数变更,只需要重新配置 oracle-ds.xml修改其中的 JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。当然除了 ORACLE数据库外,JBOSS还可连接其他类型的数据库,比如SQLSERVER2000,用户只需更换一个数据库配置文件即可,无须做其他更改。 4.2 自定义的配置文件?xml version=1.0 encoding=GB2312?configrunmode0/runmode!- 运行模式:0 正常;1 测试;2 调试 -servertype0/server
11、type!- 服务器类型:0websphere,1weblogic,2jboss,3tomcat -databasetype1/databasetype!- 数据库类型:0SQL;1Oracle;-datasourceconnectionconnection-urljdbc:oracle:thin:192.168.10.8:1521:xbfmis/connection-urldriver-classoracle.jdbc.driver.OracleDriver/driver-classuser-namefmismain/user-namepasswordfmismain/password/co
12、nnection/datasource龙源期刊网 http:/performancecheck1/check !- 是否做性能检查 -warn1/warn !- 警告 0 不做警告 1 警告 当不满足性能要求时是否警告 -exception0/exception!- 异常 0 不抛出异常 1 抛出异常 当不满足性能要求时是否抛出异常 -/performance/config以上是用户在开发程序过程中自定义的一个xml配置文件,其中包含很多用户自定义的标签,比如用 servertype标签可以设置应用服务器类型,用databasetype标签设置连接的数据库类型,用 performance标签设
13、置性能检查相关的参数等等。在外部环境发生变化时,用户只需修改配置文件中相应的参数即可,无须修改代码,重新编译程序,大大节省了人力和物力,增强了程序的可扩展性及可重用性,而这点正是软件工程提出的对应用程序最重要的目标。如今,我们正处于信息时代,有人将信息时代形容为:知识爆炸知识共享即时通讯即时查询。从海量的信息中查询到我们所需要的信息,已经成为应用软件的一个重要的必不可少的功能,自定义的配置文件一个重要的应用就是可以实现通用查询。通用查询就是使用统一的查询描述和通用查询处理引擎,代替对不同的查询应用编写不同的查询相关代码,把大部分需要重复编写的部分由通用引擎来处理,通过使用通用模板和引擎,做大部
14、分应用开发时不需要开发页面,不需要编写业务逻辑,简少大量重复工作,只需要对具体应用做一个相应的配置就行了。使用基于模板和引擎的开发,产品的质量,如性能,可靠性等可以得到集中的控制和优化,可以使开发人员只关注应该关注的业务细节,从技术实现细节中解放出来。配置文件框架如下:?xml version=1.0 encoding=GB18030 ?sqldatasourcesqltext type=/sqltext !- 0 SQL语句;1 名称/值对;3 一个类名 -displaycolumn/displaycolumn !- 以逗号分隔的字段名,设置缺省哪些列显示 -龙源期刊网 http:/topc
15、ount/topcount !- 是否取前面多少条记录,如果需要则记录相应的数值 -orderby/orderby !- 排序字段列表-groupby/groupby !- 分组字段列表-displaytotalrow/displaytotalrow !- 是否显示合计行 true false -displaytotalcolumn/displaytotalcolumn !- 是否显示合计列 true false -parameters !- 参数定义 注意,参数是完全按照在下面出现的顺序确定索引的 -parameter default= source= type= name= alias=参
16、数别名,如果没有取 nameoperator= dynamic=0 emptyusedefault=true/parameter!- default 参数缺省值; source 参数的取值来源 0 常量 1 总线节点 2 界面组件 ; type 参数类型 0 无类型 1 NUMERIC 2 STRING 5 DATETIME ;name全部使用大写; operator 比较关系操作符; dynamic 0 静态参数 1 动态参数 需要动态形成过滤条件; emptyusedefault当没有相应的参数时是否使用缺省值 -/parametersactions !- 查询事件配置 -action c
17、lassName=/action/actionsqueryreturnqueryreturnfields/queryreturnfields !- 返回的值字段 顺序返回-queryreturntextfields/queryreturntextfields!-返回的文本字段 顺序返回-/queryreturnfadisplayformat !- 方案的显示结果方案 -gridset !- 查询结果格式信息 查询表格的分组合计设置,列宽度高度等的设置-龙源期刊网 http:/ 5 结束语可配置的程序设计得到了越来越多的软件开发者和使用者的青睐,该技术也不断地趋于成熟,程序设计必将沿着该技术路线发展下去。参考文献: 1 石双元.面向对象开发方法M.科学出版社,2007. 2 用例子说明面向对象和面向过程的区别EB/OL.2007-09-20.http:/ 3 陈晓紅.面向过程与面向对象-两种程序设计方法的比较与思考J.计算机时代,2001(11). 4 XML配置文件的读取处理EB/OL.2007-03-22.http:/
限制150内