可配置的程序设计
作者:赖小平
来源:《电脑知识与技术·学术交流》2008年第14期
作者:赖小平
来源:《电脑知识与技术·学术交流》2008年第14期
摘要:可配置的程序设计是为了解决面向对象的程序设计关于接口的局限性而提出来的一种程序设计方法,其优势体现在开发人员可以使用配置文件来更改设置,而不必重编译应用程序,使得业务逻辑分离出来。本文详细介绍了一些应用程序所使用的配置文件,从而体现出可配置的程序设计的优势,程序设计必将沿着该技术路线发展下去。
关键词:面向过程;面向对象;可配置;程序设计
中图分类号:TP311文献标识码:A文章编号:1009-3044(2008)14-20880-03
1 引言
随着计算机技术的发展,计算机应用领域不断扩大,软件的规模及结构的复杂程度也不断增加,为了满足软件生产在质量和数量上的需求,软件开发人员不断寻求更好的软件开发技术,程序设计方法也在不断发展。从最初的面向过程的程序设计,到后来流行的面向对象的程序设计,目前可配置的程序设计以其优势得到了越来越广泛的应用。
2 面向过程的程序设计
早期的计算机存储器容量非常小,人们设计程序时首先考虑的问题是如何减少存储器开销,硬件的限制不容许人们考虑如何组织数据与逻辑,程序本身短小,逻辑简单,也无需人们考虑程序设计方法问题。随着大容量存储器的出现及计算机技术的广泛应用,程序编写越来越困难,程序的大小以算术基数递增,而程序的逻辑控制难度则以几何基数递增,人们不得不考虑程序设计的方法。
最早提出的方法是面向过程的程序设计方法,是一种自上而下的设计方法,即分析出解
决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。其考虑问题和解决问题的方法是:怎样做(HOW)→怎样做(HOW)→怎样做(HOW)。
面向过程的程序设计的优点是易于理解和掌握,这种逐步细化问题的设计方法和大多数人的思维方式比较接近。然而,过程式设计对于比较复杂的问题,或是在开发中需求变化比较多的时候,往往显得力不从心。这是因为过程式的设计是自上而下的,这要求设计者在一开始就要对需要解决的问题有一定的了解。在问题比较复杂的时候,要做到这一点会比较困难,而当开发中需求变化的时候,以前对问题的理解也许会变得不再适用。事实上,开发一个系统的过程往往也是一个对系统不断了解和学习的过程,而过程式的设计方法忽略了这一点。
3 面向对象的程序设计
随着信息系统的加速发展,应用程序日趋复杂化和大型化。传统的软件开发技术难以满足发展的新要求。20世纪80年代后,面向对象的程序设计技术日趋成熟并逐渐地为计算机界所理解和接受。面向对象的程序设计方法和技术是目前软件研究和应用开发中最活跃的一个领域。
面向对象设计自下而上的特性,允许开发者从问题的局部开始,在开发过程中逐步加深对系统的理解。这些新的理解以及开发中遇到的需求变化,都会再作用到系统开发本身,形成一种螺旋式的开发方式。在面向对象设计中,类封装了数据,而类的成员函数作为其对外的接口,抽象地描述了类。用类将数据和操作这些数据的函数放在一起,这可以说就是面向对象设计方法的本质。
面向对象是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解决问题的步骤中的行为。其考虑问题和解决问题的方法是:有谁做(WHO)→谁是谁(WHO)jdbc连接oracle→谁怎么做(HOW)。
可以明显地看出,面向对象是以功能来划分问题,而不是步骤。如果把过去十年称为“OO时代”,相信不会引起太多的异议。面向对象技术会如此受到广泛的重视,主要是面向
对象的思想接近于客观世界的实际和符合人们通常的思维方式从而易于为人们所接受。人们在传统的OO三要素(封装性,继承性,多态性)的基层上发展了更多的新技术,借以弥补OO的缺陷,使OO方法和技术能够更好地解决软件开发中的问题。
然而,OO技术存在一大局限性就是:它对软件职责的划分是“垂直”的。在一个标准的对象继承体系中,每一继承类主要是负责软件系统中一个特定部分的功能,对象的行为是在编译期间被决定的。OO技术的另一大问题是接口问题。在传统的OO环境下,对象开发者没有任何办法确保使用者按照自己的要求来使用接口。由于OO技术的这些缺点,按照事物发展的规律,必然促使新的程序设计方法出现来解决这些问题。
4 可配置的程序设计
由于面向对象的程序设计存在的局限性,软件开发者为了弥补该缺陷,提出了可配置的程序设计方法,用一个配置文件作为程序与外部的接口文件,这样软件使用者只需按照自己
的要求来修改该接口文件,不需做其他任何更改就可满足不同的需求。
应用程序配置文件是标准的 XML 文件,XML 标记和属性是区分大小写的。它是可以按需要更改的,其优势体现在开发人员可以使用配置文件来更改设置,而不必重编译应用程序,使得业务逻辑分离出来。管理员可以使用配置文件来设置策略,以便影响应用程序在计算机上运行的方式。
4.1 应用服务器JBOSS的数据源配置文件
<datasources>
<local-tx-datasource>
<jndi-name>jdbc/test</jndi-name>
<connection-url>jdbc:oracle:thin:@127.0.0.1:1521:oradb</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>guest</user-name>
<password>guest</password>
<min-pool-size>0</min-pool-size>
<max-pool-size>10</max-pool-size>
<exception-sorter-class-name>source.adapter.jdbc.vendor.OracleExceptionSorter
</exception-sorter-class-name>
</local-tx-datasource>
</datasources>
上面是JBOSS的一个数据源配置接口文件,存放路径为:jboss安装路径→server→default→deploy→l,其连接数据库类型为ORACLE,其中,定义了一个名为jdbc/test的数据源,其参数包括JDBC的URL,驱动类名,用户名及密码等。直接使用JDBC或者通过JNDI引用数据源的编程代码量相差无几,但是现在的程序可以不用关心具
体JDBC参数了。在系统部署后,如果数据库的相关参数变更,只需要重新配置 l 修改其中的JDBC参数,只要保证数据源的名称不变,那么程序源代码就无需修改。由此可见,JNDI避免了程序与数据库之间的紧耦合,使应用更加易于配置、易于部署。
当然除了ORACLE数据库外,JBOSS还可连接其他类型的数据库,比如SQL SERVER2000,用户只需更换一个数据库配置文件即可,无须做其他更改。
4.2 自定义的配置文件
<?xml version="1.0" encoding="GB2312"?>
<config>
<runmode>0</runmode><!-- 运行模式:0正常;1测试;2调试 -->
<servertype>0</servertype>
<!-- 服务器类型:0websphere,1weblogic,2jboss,3tomcat -->
<databasetype>1</databasetype><!-- 数据库类型:0SQL;1Oracle;-->
<datasource>
<connection>
<connection-url>jdbc:oracle:thin:@192.168.10.8:1521:xbfmis</connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>fmismain</user-name>
<password>fmismain</password
</connection>
</datasource>
<performance>
<check>1</check> <!-- 是否做性能检查 -->
<warn>1</warn> <!-- 警告0 不做警告1 警告 当不满足性能要求时是否警告 -->
<exception>0</exception>
<!-- 异常 0 不抛出异常 1 抛出异常 当不满足性能要求时是否抛出异常 -->
</performance>
</config>
以上是用户在开发程序过程中自定义的一个xml配置文件,其中包含很多用户自定义的标签,比如用servertype标签可以设置应用服务器类型,用databasetype标签设置连接的数据库类型,用performance标签设置性能检查相关的参数等等。在外部环境发生变化时,用户只需修改配置文件中相应的参数即可,无须修改代码,重新编译程序,大大节省了人力和物力,增强了程序的可扩展性及可重用性,而这点正是软件工程提出的对应用程序最重要的目标。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论