什么叫构件?

来源:百度知道 编辑:UC知道 时间:2024/05/26 12:00:27
什么叫构件?
看来还挺复杂 还是不明白 能通俗点吗?谢谢了.

要想弄懂CBD(component-based development,基于构件的软件开发)的原理,首先要搞清楚什么是构件(component,也译为组件)。这个问题看起来简单,却是CBD中最难回答的问题之一,因为构件的内涵十分丰富,CBD又处在一个发展阶段,所以出现了许多不很一致的构件定义,也出现许多容易混淆的概念,例如对象、中间件、框架(framework)、构架(Software Archiecture)、子系统(subsystem)、COTS、产品线,下面是一些理论家和实践者们从不同的角度、不同的层次提出对构件看法。

一、构件的描述性定义

(1)著名的Brown和Wallnau描述构件为“一个非平凡的、几乎独立的、可替换的系统组成部分,它在定义完善的体系结构环境中实现某一清晰的功能”(a nontrivial, nearly independent, and replaceable part of a system that fulfils a clear function in the context of a well defined architecture)。同时他们进一步认为软件构件只能是“一个说明了合同并且明显地与语境无关的组合单元”(A unit of composition with contractually specified and explicit context dependencies only”)。

(2)Clemens认为:构件是一个独立部署的的单元,是一个第三方合成的单元,构件没有一致性的状态(A component is a unit of independent deployment .A component is a unit of third-party composition. A component has no persistent state).〔见《构件是什么,不是什么》〕

(3)OMG的定义更通俗、详细一些,在Modeling Language Specification(Revision1.3)写道:构件是一个物理的、可替换的系统组成部分,它包装了实现体且提供了对一组接口的实现方法。构件表示了系统实现体