当前位置: 首页 > news >正文

系统架构设计(五):构件

定义

构件(Component)是指一个具有明确边界和独立部署能力的模块化单元,能够封装实现细节,并通过接口与其他构件协作完成系统功能。

主要特性

特性说明
可复用性构件可以在不同系统中被重复使用。
可部署性构件可以独立部署,具备独立生命周期。
模块化构件通过封装实现细节,使系统结构更清晰。
接口明确构件通过明确的接口暴露功能,屏蔽内部实现。
低耦合高内聚构件之间通过接口交互,降低系统耦合度,提高可维护性和扩展性。

构件与模块的区别

项目构件模块
粒度一般比模块粗粒度较细
接口明确定义,便于集成和替换通常是代码级的调用
部署可独立部署,有生命周期管理通常依赖整体系统进行部署
复用性更强调跨项目复用通常局限于系统内部复用

分类

  • 逻辑构件:反映系统的功能逻辑结构,例如业务逻辑层构件、数据访问层构件等。
  • 物理构件:反映系统的部署结构,例如可执行文件、动态链接库(DLL)、Web 服务等。
  • 可重用构件:具有通用性,可用于多个系统或项目中。
  • 专用构件:针对特定业务或系统定制开发。

设计原则

  • 单一职责原则(SRP)
  • 接口分离原则(ISP)
  • 依赖倒置原则(DIP)
  • 开放封闭原则(OCP)
  • 可替换性:构件之间应可互换,不影响系统整体功能。

构件模型标准(常见)

  • OMG CORBA 构件模型
  • JavaBeans / Enterprise JavaBeans(EJB)
  • .NET 构件模型
  • OSGi 模型

在架构设计中的作用

  • 支持架构分层:如表示层、业务逻辑层、数据访问层。
  • 提高系统可维护性和可扩展性
  • 支持分布式部署:多个构件可分布在不同主机上。
  • 支撑构建面向服务架构(SOA)和微服务架构(MSA)

构件与服务的关系

项目构件服务
面向开发者使用者
实现形式二进制包、库、模块等接口定义、Web Service、API等
通信方式本地调用通常是远程调用(HTTP、RPC等)

构件技术选型示例

构件类型技术或平台示例
Java 构件EJB、Spring Bean、OSGi
.NET 构件DLL、Assembly、NuGet 包
Web 构件JSP、Servlet、Web Component
跨平台构件Docker 容器、gRPC 微服务

相关文章:

  • 69、微服务保姆教程(十二)容器化与云原生
  • 【C#】ToArray的使用
  • 当 AI 邂逅丝路:揭秘「丝路智旅」,用 RAG 重塑中阿文化旅游体验
  • springboot旅游小程序-计算机毕业设计源码76696
  • 【高数上册笔记篇02】:数列与函数极限
  • 【高数上册笔记01】:从集合映射到区间函数
  • 无偿帮写毕业论文
  • win10-django项目连接本地mysql
  • 南京邮电大学金工实习答案
  • HVV蓝队初级面试总结
  • Linux系列(3)----用户和用户组管理、系统管理
  • 差分与位移算子
  • 【C语言干货】二维数组传参本质
  • 简单的强化学习举例
  • Java定时任务
  • 快速搭建一个vue前端工程
  • Multisim14使用教程详尽版--(2025最新版)
  • 关于解决MySQL的常见问题
  • 数字孪生概念
  • 1247. 后缀表达式
  • 俄土外长通话讨论俄乌谈判问题
  • 真人秀《幸存者》百万美元奖金,25年间“缩水”近一半
  • 美英贸易协议|不,这不是一份重大贸易协议
  • 宝妈称宝宝在粽子中吃出带血创可贴,来伊份:已内部排查
  • 美国再工业化进程需要中国的产业支持
  • 暴利之下:宠物殡葬行业的冰与火之歌