软件构件 核心知识点整理
一、 软件构件的核心定义与特)
1. 定义
软件构件(Component),又称组件,是自包容、可复用的程序集,通过统一的访问接口对外提供服务,外部只能通过接口访问,无法直接操作内部实现。
2. 两大核心特性
- 自包容:构件内部实现独立,包含完成功能所需的所有逻辑和数据,与外部环境低耦合。
- 可重用:构件可在不同系统、不同场景中重复使用,是构件化开发的核心价值。
3. 构件化开发的优势与劣势(简答题考点)
| 优势 | 劣势 |
|---|---|
| 1. 易扩展:通过替换 / 新增构件实现系统功能扩展2. 可重用:减少重复开发,提升开发效率3. 并行开发:不同团队可同时开发不同构件,缩短周期 | 1. 对设计师要求高:需具备丰富的构件拆分和接口设计经验2. 快速开发与质量妥协:为追求复用可能牺牲部分个性化需求3. 构件质量决定系统质量:单个构件的缺陷会影响整个系统 |
4. 核心开发理念
搭积木式开发:将系统拆分为多个独立构件,通过接口组合构件实现完整功能,类似用积木搭建模型。
二、 软件构件的关键概念(易混点区分)
1. 构件 vs 模块 vs 中间件
- 构件:可独立部署、可重用的程序集,强调接口标准化和复用性(如 EJB 中的 Bean)。
- 模块:系统内部的功能划分,不一定独立部署或复用(如一个 Java 类库)。
- 中间件:为构件提供运行环境和通信服务的软件,是构件协同工作的基础(如 CORBA 的 ORB)。
2. 构件接口的核心要求
- 标准化:接口定义需遵循统一规范(如 CORBA 的 IDL、J2EE 的 EJB 接口),保证不同构件的兼容性。
- 稳定性:接口一旦确定,应尽量避免修改,构件内部实现可独立升级,不影响外部调用。
三、 三大商用构件标准规范(核心考点,表格对比)
软考中常考三大标准的提出方、核心技术、构件类型、应用场景,以下是深度解析:
| 标准规范 | 提出方 | 核心定位 | 核心技术架构 | 构件类型 | 接口定义方式 | 典型应用场景 |
|---|---|---|---|---|---|---|
| CORBA(公共对象请求代理架构) | OMG(对象管理组织) | 跨语言、跨平台的分布式构件通信规范(纯规范,无产品) | 分为 3 层:1. ORB(对象请求代理):核心,负责构件间的通信与调用转发2. 公共对象服务:提供通用服务(如事务、安全、命名)3. 公共设施:提供应用层服务(如用户界面、数据访问) | 分布式对象构件 | IDL(接口定义语言)独立于具体编程语言,可编译为 Java、C++ 等语言的接口代码 | 异构系统集成(如跨 Java 和 C++ 的分布式系统)、大型企业级分布式应用 |
| J2EE(Java 2 企业版) | SUN(现 Oracle) | 基于 Java 语言的企业级应用开发规范 | 包含多层架构:表现层(JSP/Servlet)、业务逻辑层(EJB)、数据访问层(JDBC)EJB 是核心构件标准 | EJB 构件(称为Bean),分为 3 类:1. 会话 Bean:处理业务逻辑(如订单处理),生命周期与用户会话绑定2. 实体 Bean:映射数据库实体(如用户信息),代表持久化数据3. 消息驱动 Bean:处理异步消息(如接收 JMS 消息) | Java 接口遵循 EJB 规范的接口定义 | 纯 Java 技术栈的企业应用(如电商后台、银行管理系统) |
| DNA 2000(分布式互联网应用架构) | Microsoft | 微软的分布式应用开发架构 | 基于 Windows 平台,整合 COM/DCOM/COM + 技术COM + 是核心构件标准 | COM/DCOM/COM + 构件COM:本地构件标准DCOM:分布式构件标准COM+:扩展了事务、安全等服务 | COM 接口基于 Windows 的 COM 规范,使用 IDL 或 Visual Studio 工具定义 | Windows 平台的桌面应用和分布式系统(如微软 Office 插件、企业内部 Windows 应用) |
四、 三大标准的核心区别
CORBA 跨平台,IDL 定义接口;J2EE 纯 Java,EJB 分三类;DNA 微软造,COM 全家桶。
五、 补充
1. CORBA 的核心价值
解决异构系统的构件通信问题,无论构件用什么语言开发、运行在什么平台,都可通过 ORB 实现互调。
2. EJB 的三类 Bean 记忆要点
- 会话 Bean:业务逻辑(临时,随会话消失)
- 实体 Bean:持久数据(永久,对应数据库记录)
- 消息驱动 Bean:异步消息(被动接收消息处理)
3. 构件标准的发展趋势
- 传统重量级标准(CORBA、EJB)逐渐被轻量级构件技术替代,如 Spring Bean、微服务架构中的服务构件。
- 但软考仍重点考察传统标准的核心概念和架构,需重点掌握。
六、 知识点串联记忆框架
- 构件定义:自包容、可重用,接口访问,搭积木开发。
- 开发特点:易扩展、可重用、并行开发;对设计师要求高,质量依赖构件。
- 三大标准:CORBA(跨平台,IDL,ORB 三层)、J2EE(Java,EJB 三类 Bean)、DNA 2000(微软,COM/DCOM/COM+)。