软件技术连载(二)

来源:互联网 发布:java等待线程执行完毕 编辑:程序博客网 时间:2024/04/30 12:27

软件技术连载(二)

POWERBUILDER的魅力(二)应用级别的面向对象能力

作者:轻风  个人主页:http://gentlebreeze.home4u.china.com

就学术一级或者说就语言自身特性来讲面向对象的能力更多的是指赋予技术人员自身的语言控制能力,诸如接口、多态等特性。然而应用级别的面向对象能力却有很大的不同了。对应用者来说最关心的是已经获得的面向对象的能力,简单地说就是功能和适应性。一个熟练的进行WINDOWS编程的技术人员经常要做的就是寻找已经存在的具有强大功能的控件,而不是关心怎么自己构建这个对象或者控件。

功能和适应性是应用人员最为关心的面向对象特性。功能是支撑整个应用的基础,透过对象裸露的强大功能,应用人员省去了大量的编程工作,转为对应用的定制,通过面向对象技术的封装,使得应用型的技术人员不需要了解对象内部的具体机制,减轻了维护量。随着应用发展的复杂性和应用环境的不断变化,对象的适应能力已经逐渐上升为主要矛盾。所谓适应性就是对象对应用运行的环境的适应性,同样一个对象可以基本不加以改变地运用到不同的环境类型当中,应用技术人员主要的工作是对环境参数的配置。我们知道面向对象以及组件编程的主要意义在于重用,但就以前的重用模型来看大多停留于单一环境的重用。即使是组件也是停留于某种环境的重用互连。例如COM,虽然跨越了语言,但是就应用环境来说服务端与桌面仍然是难以跨越的。但是应用人员恰恰十分关心这一现实问题。目前的应用已经从桌面逐渐发展到桌面、服务端、微型设备等多种环境并存的局面。但就某个具体的团队来说其软件应用的商业类型却能够达到基本稳定。例如一个团队主要从事财务系统或者生产系统的开发,现在的挑战是原来的应用环境要不断扩展,扩展到INTERNET、桌面、微型设备等等环境中来。团队不得不重复地构造原来已经非常清楚的商业模型,事实上我们就是在这么重复着工作,并且已经导致了大量的失败,原因就是这种重新实现的成本过高,并基本否定了原来的技术模式和开发组织模型

PowerBulider强大的数据计算能力和数据窗口的封装技术是久负盛名的,在以前的连载也简要介绍过,我们不再重复。我们重点讨论数据窗口的适应性的问题。假设我们设计了一个库存计算的模型,并封装到了数据窗口的计算模型当中,我们究竟得到了什么呢?

1.         你可以在Client/Server结构中运用这个模型计算库存,并将结果及时的表现在桌面上,这正是数据窗口的特长。

2.         如果用户量、数据量很大,就需要转移到3层结构下,放置到服务端,我们可以重用数据窗口,简单地调用结果并发布到接口中,最终成为组件服务器中的组件,可以是COM+也可以是CORBA并将结果交付给任何调用组件的客户端。

3.         如果其他的系统想使用这个模型,甚至是供应链中的伙伴使用,我们可以将这个数据窗口模型通过新版本的EASERVER交付为WEB服务,使得其他的系统使用这个库存计算的结果。

4.         我们可以将这个数据窗口模型的结果直接发布成网页呈递给最终的用户

5.         如果是手持设备中的数据,你可以将结果发布到手持设备中

6.         在新的计划中,我们可以把这个计算模型融入到EJB中(而不是限于EASERVER),并被任何的J2EE的客户端成员调用

7.         在新的计划中,我们可以把这个计算模型完全地融入.NET环境中

这就是对象的适应性的威力。应用人员更应该关心自己专注的商业模型以及实现的规律,并通过已有的对象模型封装到一个技术模型当中。关键是这种模型应该有足够的适应能力,可以适应不同的环境,只需要对环境配置等进行修改,就可以重新使用,重用的意义可以从另外一个角度得到理解吧。PowerBuilder的数据窗口模型所以能具有这么强大的适应性是其对技术独特的角度的理解,我们将在以后的连载中讨论。

 

原创粉丝点击