精彩词条构件
补充:0 浏览:42522 发布时间:2012-9-4
构件是系统中实际存在的可更换部分,它实现特定的功能,符合一套接口标准并实现一组接口。构件代表系统中的一部分物理实施,包括软件代码(源代码、二进制代码或可执行代码)或其等价物(如脚本或命令文件)。在图中,构件表示为一个带有标签的矩形。
一、机械领域 机器中每一个独立的运动单元体称为一个构件。 [structural member]∶机构的组成单个元,它是一个和某相邻构件有相对运动的刚体 桥梁构架;抗压构件的设计 [component part]∶组成部(分) 电动机的各种构件人财产 在机构学中组成机构的﹑彼此间具有确定的相对运动关系的基本单元﹐如曲柄滑块机构中的曲柄﹑连杆﹑滑块和机架﹐凸轮机构中的凸轮﹑从动杆和机架。在结构学中则指结构物中的计算或制造单元﹐它们是固定在一起的﹐彼此间除由于应变有微量位移外﹐没有相对运动﹐如梁﹑柱﹑拉杆等。 二、 软件工程中的构件 构件是面向软件体系架构的可复用软件模块。构件(component)是可复用的软件组成成份,可被用来构造其他软件。它可以是被封装的对象类、类树、一些功能模块、软件框架(framework)、软件构架(或体系结构Architectural)、文档、分析件、设计模式(Pattern)等。1995年,Ian.oraham给出的构件定义如下:构件(Component)是指一个对象(接口规范、或二进制代码),它被用于复用,接口被明确定义[8]。构件是作为一个逻辑紧密的程序代码包的形式出现的,有着良好的接口。像Ada的Package、Smalltalk-80和C++的class和数据类型都可属于构件范畴。但是,操作集合、过程、函数即使可以复用也不能成为一个构件。开发者可以通过组装已有的构件来开发新的应用系统,从而达到软件复用的目的。软件构件技术是软件复用的关键因素,也是软件复用技术研究的重点。 软件构件应具备以下属性: (1)有用性(Usefulness):构件必须提供有用的功能; (2)可用性(Usability):构件必须易于理解和使用; (3)质量(Quality):构件及其变形必须能正确工作; (4)适应性(Adaptability):构件应该易于通过参数化等方式在不同语境中进行配置; (5)可移植性(Portability):构件应能在不同的硬件运行平台和软件环境中工作。 日历、工作流构件、订单构件、用户界面控制等等都可以是构件。 2.1.3 构件的特点 构件具有以下几个特点: (1)自描述:构件必须能够识别其属性、存取方法和事件,这些信息可以使开发环境将第三方软件构件无缝地结合起来; (2)可定制:允许提供一个典型的图形方式环境,软件构件的属性只能通过控制面板来设置; (3)可集成:构件必须可以被编程语言直接控制。构件也可以和脚本语言或者与从代码级访问构件的环境连接,这个特点使得软件构件可以在非可视化开发项目中使用; (4)连接机制:构件必须能产生事件或者具有让程序员从语义上实现相互连接的其他机制。 采用构件软件不需要重新编译,也不需要源代码并且不局限于某一种编程语言。该过程叫做二进制复用(Binary Reuse),因为它是建立在接口而不是源代码级别的复用之上的。虽然软件构件必须遵守一致的接口,但是它们的内部实现是完全自动的。因此,可以用过程语言和面向对象语言创建构件。 由于构件技术是由基于面向对象技术而发展起来的,与面向对象的设计中的对象相类似,它们都是针对软件复用,都是被封装的代码,但它们之间仍存在很大差异: 差别 (1)在纯面向对象的设计中,对象(类)、封装和继承三者缺一不可,但对构件可以没有继承性,只要实现封装即可; (2)从构件和对象的生成方式上,对象生成属于实例化的过程,比较单一,而生成构件的方式较多; (3)构件是设计的概念,与具体编程语言无关,不像对象属于编程中的概念,要依赖于具体的编程语言; (4)在对构件操作时不允许直接操作构件中的数据,数据真正被封装了。而对象的操作通过公共接口部分,这样数据是可能被访问操作的; (5)对象对软件复用是通过继承实现的,构件对软件复用不仅可以通过继承还可以通过组装时的引用来实现。 因此,构件不是对象,只是与对象类似。 从力学角度来说,结构是指可以承受一定力的结构形态,它可以抵抗能引起形状和大小改变的力。每种事物都有它的架构形态,这种架构形态体现着它的结构。一个较复杂的结构由许多不同的部分组成,这些组成部分通常成为构件。 其他补充 |
|