协作

在 UML 图中,协作是一种结构化类元类型。在这种类元中,角色和属性互相合作来定义类元的内部结构。当您想只定义完成协作的特定目标所需要的角色和连接时就可使用协作。例如,协作的目标可以是定义类元的角色或组件。通过将主要角色分隔开,协作简化了结构并阐明了模型中的行为。

由于您不显示参与的实例的特定类或标识,而只是显示角色和连接器,因此,可以复用与协作对象的图体系结构模式的协作和对它们的常见行为建模,这一点与模板相似。当您想显示一个模式的特定出现位置时,可使用协作出现位置。

协作可以包括来自正在建模的系统的不同部分的类元,并且单个类元可以具有不同的角色和参与多个协作。这意味着协作中的角色会引用或输入类元,却不会实际拥有或包含所引用的类元。

如下图所示,协作显示为一个由虚线组成的椭圆内包含两个部分。

图框内包含一个由虚线组成的包含两个部分的椭圆。上面的部分包含协作的名称 Car,下面的部分包含由 Door 和 Frame 表示的两个互相连接的角色。

上面的部分指定协作的唯一名称。通常,该名称标识协作所提供的模式或机制。在上面的示例中,协作定义了一辆汽车的组成部分。协作的名称是 Car。结构部分使用一组角色来显示协作的内部结构。在此示例中,Door 和 Frame 这两个角色互相协作来定义协作 Car。角色被描述为一个矩形内包含角色的名称和一个冒号,如果指定了所引用的类元的名称,那么还包含该名称。互相协作的 Door 角色和 Frame 角色之间通过一条实线相连。

相关任务
在组合结构图中创建协作
对协作添加角色
在组合结构图中创建协作发生

反馈