知识卡片
协作用角色而非类描述交互模式
内容
协作图看起来像类图,骨子里完全不同:整个协作被虚线椭圆圈起来,椭圆里画的所谓类其实不是类,而是角色(role)——应用这个协作模式时各方要扮演的职责,名字不以大写字母开头;某角色恰好对应真实接口或类并不稀奇,但协作本身不要求这种对应关系必须存在。协作对应的交互图里,参与者命名相应变成participant-name/role-name:class-name的三段式,比普通交互图多一层角色标注。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第15章《协作》(源文件:_epub-src/EPUB/14.xhtml)
- 结论依据:原文说明"它被一个虚线的椭圆包围,椭圆代表拍卖协作。其次,协作中的所谓的类不是类,而是应用协作时要实现的角色(role)——所以它们的名称不是以大写字母开头的……在协作中,命名体系是participant-name/role-name:class-name"。
- 原始内容:图15.1不是十分常见的类图。首先,它被一个虚线的椭圆包围,椭圆代表拍卖协作。其次,协作中的所谓的类不是类,而是应用协作时要实现的角色(role)……在协作中,命名体系是participant-name/role-name:class-name。