知识卡片

协作用角色而非类描述交互模式

普通读书笔记卡 · 1954

内容

协作图看起来像类图,骨子里完全不同:整个协作被虚线椭圆圈起来,椭圆里画的所谓类其实不是类,而是角色(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。