由于您不显示参与的实例的特定类或标识,而只是显示角色和连接器,因此,可以复用与协作对象的图体系结构模式的协作和对它们的常见行为建模,这一点与模板相似。当您想显示一个模式的特定出现位置时,可使用协作出现位置。
协作可以包括来自正在建模的系统的不同部分的类元,并且单个类元可以具有不同的角色和参与多个协作。这意味着协作中的角色会引用或输入类元,却不会实际拥有或包含所引用的类元。
如下图所示,协作显示为一个由虚线组成的椭圆内包含两个部分。

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