知识卡片
协作发生与模式表示法的实际状况
内容
协作定义好后,要在类图上表明某组类确实用这个协作,可放置协作发生(collaboration occurrence):从协作椭圆连线到具体类,说明这些类扮演协作定义的哪些角色。UML官方建议用它展示设计模式的使用,但现实中几乎没有模式作者这样做;Erich Gamma提出了一种更受欢迎的替代画法——直接在元素上加模式名称或pattern:role标签,这个务实方案反而比官方推荐的协作发生用得更广。
参考来源
- 位置:《UML精粹:标准对象建模语言简明指南(第3版)》第15章《协作》(源文件:_epub-src/EPUB/14.xhtml)
- 结论依据:原文说明"当你使用协作时,你能够通过在类图上放置一个协作发生(collaboration occurrence)来展示你正在使用一个协作……UML建议使用协作发生表示法来展示模式的使用,但几乎没有模式作者这样做过。Erich Gamma开发了一种很好的备选表示法"。
- 原始内容:当你使用协作时,你能够通过在类图上放置一个协作发生(collaboration occurrence)来展示你正在使用一个协作……UML建议使用协作发生表示法来展示模式的使用,但几乎没有模式作者这样做过。Erich Gamma开发了一种很好的备选表示法(图15.4)。图中的元素加上了模式名称或者pattern:role结合的标签。