什么是组件(Component)?
- 将某一个元素,视为 “整体(whole)” 时,观察该元素的外显行为与内在特征。
- 组件 = 接口 + 实现接口的类别(不一定是只有一个)。
- 组件的观点
- 外部观点(黑箱式) – 凸显该组件所提供(provide)与所需求(required)的界面(interface)。
- 内部观点(白箱式) – 组件内部结构(internal structure) “组成元素”
的关系。
组件与合成结构(Composite Structure)图
- 将焦点关注在某一个组件(Component)
- 组件外显的接口(interface)。
- 组件内部组件(part)的连结关系。
- 接口系由内部的那个组件所委托(delegate)实做的。
- UML 2.0 新增最有价值的新视图;也可以视为是早期 UML 类别图中对“黑色菱形”的合成关系的一种扩充、延伸、升级。
组件的内部结构描述
- 内部相互连结(interconnected)组件(part)的结构(Structure)。
- 系统执行期间(run-time)内部相互连结的个体(instances)结构。
- 例,一艘小型动力艇,内部系由一具引擎及一至四个推进器组成并履行小艇推进的功能。
范例—利用两种不同的呈现方式展示 Order 组件与其接口
组件的 “提供” 与 “需求” 接口
- 组件所提供给 Client 端使用的接口称为 “可提供接口(provided interface)”;组件所要求的接口称为
“需求接口(required interface)”。
- 例,Order 组件提供(provided)给 Client 端(如 Customer) “新增/移除
订购细项”、”完成订购”、”提供订购追踪信息” 等接口;而需要(required) “Retrieve
Products”、”Retrieve tracking info” 等界面。
- UML 2.0 ,圆球(ball)图示(icon)表提供接口;凹槽(socket)图标表需求接口。
“Ball and Socket” 的说明
- 例,Order 接口需要“Retrieve Products”接口;而 Inventory 组件提供了“Provide
Products”接口。两者构成了“ball and socket”关系。
连接端口–组件与外部环境的互动点(interaction point)
- 利用 “连接埠(port)” 可以将接口(包括需求与可提供接口)群组起来,成为一组逻辑的互动关系。
- 透过 port,组件可以提供服务给外部的环境;也可以向外部环境要求服务。
- 组件与其外部环境互动(interaction)的 “存取点(access point)”。
- 例,将 “Mouse” 视为是一个接口,透过 usb 接头,可以连至(plug-into) PC
所提供的 “USB 埠”,而可以操作使用鼠标。
组件内部结构组成元素的说明
- 组件(part)提供或需要某个接口的实做,两者之间的联机关系,称为委托连接器(delegating
connector)。
- 组件与组件之间的关连(association),称为连接器(connector)。
- 利用多重性(multiplicity),可以秀出某个组件会有多少个个体(instances)。
|