协作发生

在组合结构图中,协作发生是一个模型元素,它表示使用协作来说明结构化类元的各个部分之间的关系。使用协作发生来将由协作描述的模式应用于一种特定情况,该情况涉及到充当指定协作的角色的类或实例。您可以具有多个协作发生,且每个协作发生涉及到给定协作的一组不同的角色和连接器。
在协作发生中,每个协作角色通过类元绑定至可连接的元素。在随协作输入协作发生之后,就可以在组合结构图中打开该协作发生并查看该协作发生中各个部分的角色。可以添加一个角色绑定连接器(它是一种简单的依赖关系),以按照特定协作来绑定或映射类元中互相合作的角色和连接器。可以在下列各项之间添加角色绑定:

如下图所示,可以在特定协作中复用对象和角色,并将这些元素作为模式来应用以指定包含一个协作发生的情况。

图框内包含一个由虚线组成的包含两个部分的椭圆。上面的部分包含协作的名称 Car,下面的部分包含由 Door 和 Frame 部件表示的两个互相连接的角色 Role1 和 Role2。另一个由虚线组成的较小椭圆是由 Car 输入的,并且通过虚线分别连接至由 Door 和 Frame 输入的 SedanDoor 角色和 SedanFrame 角色。在连接线最靠近角色的一端,显示了一个以加号(+)开头的标签。该标签指示与每个角色相关联的可连接元素的名称。

在上面的示例中,Car 协作有两个互相连接的类元 Door 和 Frame,这两个类元表示该协作中的特定角色。协作发生 Sedan 显示为一个由虚线组成的椭圆中包含协作发生的名称、一个冒号以及由 Car 输入的协作的名称。该示例中有两个角色绑定:一个是 SedanDoor 角色与 Door 协作角色之间的绑定;另一个是 SedanFrame 角色与 Frame 协作角色之间的绑定。位于虚线旁边的以加号(+)开头的标签表示可连接元素的名称。

相关任务
在组合结构图中创建协作发生
在组合结构图中创建协作
绑定协作发生和角色

反馈