技术开发 频道

何为构件式开发?

【IT168 分析评论】

    一、什么是构件?

    软件构件是一个高内聚的、通过一组约定的接口完成明晰的功能、符合业界认可的模型标准(如COM/.Net,Corba,WebService等)的、可复用软件包,可在一个体系结构周境下被直接或经适当调整后组装到软件系统中而成为其组成部分。一个构件也可包含若干个子构件。一个构件也可以是Web服务方式的构件。

    构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架 (framwork)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。构件分为构件类和构件实例,通过给出构件类的参数,生成实例,通过实例的组装和控制来构造相应的应用软件,这不仅大大提高了软件开发者的开发效率,也大大提高了软件的质量。

    二、软件构件背景知识

    软件行业发展的数十年中,程序编写的模式和风格都已发生了很大的变化。最早的程序员是通过直接编写仅仅由0和1组成的机器代码来“告知”机器运行程序的。慢慢的,较高级的用以适应各种不同需求的语言如COBOL、FORTURN不断产生,直至今日,我们见到的编程语言已有数百种之多。其间最大的变化来自 20世纪80年代末90年代初,我们所谓“真正”的高级语言的诞生和“库”及“模块化程序”的编程方法成就了这一巨大变化。这个时期我们称之为 Microsoft公司的“QuickBasic”和Borland公司的“Turbo Pascal”的时代。同时,一些适应市场需求应运而生的出售基于代码级的功能库的第三方软件提供商业在迅速成长。

    1991 年,Microsof公司的“Visual Basic”(VB)的诞生对编程世界产生了翻天覆地的强烈冲击。由于VB是架构在Windows平台上的,所以编程者可以调用系统的动态连接库 (DLLs),这种动态连接库就是早期的构件雏型。同时编程者还可以使用我们称之为“VB Extention”(VBX)的预先做好的功能模块集。也正是因为有了VB,程序员才第一次真正的将自己的应用程序以最直接的方式和编程的操作环境无缝连接。

    应用开发的模式也随之发生了变化。新的程序设计和编写的方式使得开发人员可以通过少量的代码编写实现对已有的功能块的重用和组合来实现应用的需要。大家小时候一定玩过搭积木的游戏,用各种积木块可以搭出一座我们满意的城堡来。现在,编写程序也变得这么简单了。我们程序员们一行行的编写代码的时代已经延续30年,现在,变革的时候到了,我们现在只需要“组装”已有的功能模块就可以完成应用的开发工作了。这“已有的功能模块”就是我们通常所说的“构件”。

    三、构件相关概念

    软件构件的种类

    黑盒和白盒构件

    原代码构件是白盒构件,可读,程序员在使用时可以直接修改。而黑盒构件则是已编译或二进制格式,独立且不能直接修改。所有的程序员通过描述构件功能的文件和出版的接口了解这些构件。接口包括可视的属性或者新添的值。然后,方法允许构件做事先定义的动作。最后,事件,在构件通知程序员事件发生时引发。使用黑盒构件优于使用白盒构件。黑盒构件不能被程序员直接修改。扩充功能通过创建一个新的“包裹”构件包装和扩展已存在构件来完成。这使得构件原有功能完整无缺,以至于升级、错误修改等事务可以由原始开发者完成。如果你要是想改变白盒构件的源代码,你会得到一个新代码流,那么旧的错误在新的构件实例中就不容易修改,并不断传播。

    商业构件(COTS)

    在90年代早期,一种新的构件产生了。它们是市场上可以购买的构件,也可以称之为开放市场构件。开放市场构件是可以从货架上买走的可重用构件,例如 COM,Java,你可以购买它但不用购买支持、集成或其它类型的服务,的确是“即插即用”的构件。例如,MicroHelp公司的VBTools,基于 Microsoft Visual Basic构件模型(或VBXs),该模型后来成长为基于COM的构件(OCXs),而现在成了基于.NET的构件。现在的开放市场构件以很多了,可以让程序员工作变得简单一些,并让他们专心于完成核心任务。这里的核心任务指将完成公司定义的商业进程或功能,而不是编写所有的普通构件或程序,比如显示、制表、计算、算法,还有其它可以在市场上购买到的构件。重用因为可以重用开放市场构件而得到实现,那就是别人已经编写、测试、文档化了的代码。

0
相关文章