构件的定义
构件的定义不同地方的不同人,对它有不同的解读,解读的方向可能有些不一样,认可度比较高的就是定义1.
- 定义1:软件构件是一种组装单元,它具有规范的接口规约和显式的语境依赖。软件构件可以被独立的部署并由第三方任意组装。
- 定义2:构件是系统中有价值的,几乎独立的,且可替换的一个部分。它在良好定义的体系结构语境内满足某清晰的功能。
- 定义3:构件是一个独立发布的功能部分,可以通过其接口访问它的服务。
构件和传统的对象比较,我们一般认为构件的粒度比对象要大,服务又比构件要大一号。而构件和对象具体有如下一些区别:
构件的特性 | 对象的特性 | 模块的特性 |
---|---|---|
1.独立的部署单元 2.作为第三方的组装单元 3.没有(外部的)可见状态 |
1.一个实例单元,具有唯一的标识 2.可能具有状态,此状态外部可见 3.封装了自己的状态和行为 |
结构化开发的产物 |
没有外部的可见状态就是,直接从外部不能访问,一般提供统一访问的入口。对象如果没有封装好的话,外部是可以访问的,如果封装好