今天上csdn看到有个网友问构件与构架的问题,想了想,查了点资料
构件的定义( Component )
广义定义:构件是计算机软件构件的简称,是在软件生命周期各阶段可以被复用的软件实体,它可以是设计、代码或软件开发过程的其它产品。如可组装的软件、程序模板、程序的原代码或目标模块和软件需求说明、规格说明、程序说明、数据说明、测试说明和测试案例等软件成分。“复用”指在同一系统的其它地方或另一个系统中使用已有的软件构件。
狭义定义:软件构件是具有公开接口和确定意义的可被组装的软件制品。它可以不加修改或者基本不加修改地作为一个部件和其它构件一起组装成更大的软件或软件成分。
构架的定义( Framework )
构架是计算机软件构架的简称,是可以复用的、需要再扩展才能实现的“半完成”的软件。构架提供应用域的可扩展的模板,它具有完整的结构、基本元件和明确说明接口的组装其它构件或程序的扩展点。
扩展点是构架中允许被替换、被修改的功能或程序体位置的明确标识。
构件描述
构件——软件的基本单元,这种单元应当足够大,以使构件是有功能的,并能够打包和插用。这种单元又应当足够小,使它便于维护和升级。
构件比对象(信息隐藏、数据抽象)大,提供更多的复用机制。
一般是在构件内部使用面向对象技术。
构架的描述
构架提供统一的总体设计。它也提供对所有应用程序有用的功能(如接口、存储等)。
构架是对相似应用程序集合的一个部分解决方案。构架80%,附加20%。
由构架调用构件,而不是构件之间相互调用。
构架把握了某个领域内全部问题解决方案的不变部分,还需要加入变化部分(总成)使应用程序成为领域内的特定应用程序。
构件的特点
可插用(复用)
可维护
有功能
有粒度
没有与别的构件直接通信的路径(封装)
可自我描述(IDL 接口与实现分离)
框架(构架)
对象总线(平台)
来源:https://www.cnblogs.com/Hedonister/archive/2005/04/17/139162.html