首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

天极网 > 开发频道>软件架构训练基础教程之面向组件技术

软件架构训练基础教程之面向组件技术

2004-12-10 12:10作者:陶刚编译出处:天极网责任编辑:方舟

  在上篇文章中,我们介绍了《面向对象的软件技术》,面向对象技术催生了组件技术,组件技术为软件开发提供了改良的方法,它向过时的设想提出了挑战。这些原理共同建立了一种主要的新的技术趋势。组件表现为技术变革的基础,就像面向对象先前表现出的一样。我们在简短地介绍组件的独特原理后再讨论组件技术。

  迁移到下一个层次的软件技巧要求系统思想、软件处理和技术工具的基本原理都有所改变。下一个主要的技术范围——组件(或面向组件)包含了解决目前危急的软件问题的关键的原理。
  
  组件的方法引入了一套紧密相关的技巧和工艺。组件技术引入了用于生成业务结果的一套改进的想法。为了产生业务效果,组件引入了一个技巧性的想法。这些组件原理包括:

  组件的下层构造
  软件模式
  软件架构
  基于组件的开发

  组件与对象的对比

  组件可以被认为是面向对象和其它软件技术的化身。区分组件和其它先前的技术有四个原则:封装(encapsulation)、多态性(polymorphism)、后期连接(late binding)和安全性(safety)。这个列表与面向对象是重复的,除了它删除了继承(inheritance)这个重点。在组件思想中,继承是紧密耦合的、白盒(white-box)关系,它对于大多数形式的包装和重复使用都是不适合的。作为代替,组件通过调用其它的对象和组件重复使用功能,代替了从它们那儿继承。在组件术语中,这些调用叫做委托(delegations)。

   “把各部分装配在一起,一个放在另一个里面,像木匠修建房屋一样建立你自己的轮廓。每样东西都必须建造好,各部分组合在一起就形成了全部…”——Henri Matisse

  根据惯例,所有组件都拥有与它们的实现对应的规范。这种规范定义了组件的封装(例如它为其它组件提供的公共接口)。组件规范的重复使用是多态性的一种形式,它受到高度鼓励。理想情形是,组件规范是本地的或全局的标准,它在系统、企业或行业中被广泛地重复使用。

  组件利用合成(composition)来建立系统。在合成中,两个或多个组件集成到一起以建立一个更大的实体,而它可能是一个新组件、组件框架或整个系统。合成是组件的集成。结合的组件从要素组件中得到了联合的规范。

  如果组件符合了客户端调用和服务的规范,那么它们不需要额外编写代码就能够实现交互操作(interoperate)。这一般被称为即插即用(plug-and-play)集成。在运行时间执行的时候,这是后期连接的一种形似。例如,某个客户端组件可以通过在线目录发现组件服务器(类似CORBA Trader服务)。组件符合客户端和服务接口规范后,就能够建立彼此之间的运行时绑定,并通过组件的下部构造无缝地交互作用。

  在完美的情形中,所有组件都将完全符合它们的规范,并且从所有的缺陷中解放了出来。组件的成功的运行和交互操作依赖于很多内部和外部因素。安全性(Safety)属性可能是有用的,因为它可以最小化某个组件环境中的全部类的缺陷。随着社会日益依赖于软件技术,安全性已经成为一种重要的法定利害关系,并成为计算机科学研究中的最重要的课题之一。例如,Java的垃圾收集(garbage collection)特性保证了内存的安全性,或者说从内存分配缺陷(在C++程序中这是有问题的)中解放出来了。其它类型的安全性包括类型安全性(type safety,用于保证数据类型的兼容性)和模块安全性,它控制着软件扩展和组件合成的效果。

关注此文的读者还看过:

返回开发频道首页

共2页。 12下一页

软件频道最新更新

热点推荐

天极服务|关于我们|About us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2012 Yesky.com, All Rights Reserved 版权所有 天极网络