组合结构图是什么
组合结构图展示类或组件内部由哪些部件构成、端口如何连接,把内部装配关系显式化。它聚焦单个类或组件的内部结构:部件表示内部组成元素并可标注多重性,端口表示内外交互的接入点,连接器表示部件之间或部件与端口之间的连接与委托。当类图上的关联线太多、看不清内部装配时,它能把视角收拢到一个类内部。
端口与连接器怎么用
端口是交互位置,由接口定义契约,外部请求经委托端口转给内部部件,从而保持封装边界;连接器分装配与委托两类,装配表示部件之间的连接,委托表示外部端口与内部部件之间的转发。评审重点是内部部件有没有被绕过端口直接暴露:一旦外部可以直连内部部件,封装就形同虚设,任何内部调整都会穿透到调用方。
基本信息
| 核心元素 | 部件、端口、连接器与协作,用于描述内部装配关系 |
|---|---|
| 部件 | 内部组成单元,可标注多重性与类型 |
| 端口 | 内外交互的接入点,由接口定义契约内容 |
| 连接器 | 装配表示部件间连接,委托表示内外之间的转发 |
| 与组件图分工 | 组件图看系统级装配,组合结构图看单个组件内部 |
核心元素
| 元素 | 说明 | 示例 |
|---|---|---|
| 部件 | 内部组成单元,可标注多重性 | 订单部件多实例 |
| 端口 | 交互接入点,由接口定义 | 支付端口实现支付网关接口 |
| 连接器 | 部件或端口之间的连接与委托 | 装配与委托两类 |
| 协作 | 可复用的协同角色集合 | 结算协作 |
典型使用场景
- 复杂组件的内部装配关系需要显式表达时
- 类图关联线过于密集,需要聚焦单个类的内部结构
- 说明对外端口与内部部件之间的委托关系
- 评审封装是否被绕过,检查外部是否可直连内部部件
先定外部接口边界,再拆分内部部件与端口;端口按职责与契约命名而不是按实现命名,接口是契约内容,端口是交互位置。
内部部件被外部直接使用时封装即失效:此后任何内部结构调整都会穿透到调用方,维护成本成倍上升。