协作图是动态图的另一种表现形式,它强调参加交互的各对象结构的信息。协作图是一种类图,它包含类元角色和关联角色,而不仅仅是类元和关联。协作图强调参加交互的各对象的组织。
这是图中各种线的意思:
上一张我画了一个简单的登录协作图:
协作图与时序图的比较:
相同点:3个相同点。1.规定责任。2.支持消息。3.衡量工具。
区别:1.协作图重点是将对象的交互映射到它们之间的链上。
2.时序图可以描述对象的创建和撤销的情况。而在协作图中,对象要么存在要么就不存在。
3.时序图还可以表现对象的激活和去激活情况。
协作图与时序图的互换:
两个都是表示对象间的交互作用,只是它们的侧重点有所不同。时序图描述了交互过程中的时间顺序,但没有明确的表达对象间的关系;协作图描述了对象间的关系,但时间顺序必须从序列号获得。它们可以从一种形式的图转换成另一种形式的图,而不丢失任何信息。