在 UML 类图上表示 Objective C 协议
Posted
技术标签:
【中文标题】在 UML 类图上表示 Objective C 协议【英文标题】:Representing Objective C Protocols on UML class diagrams 【发布时间】:2010-04-12 20:29:45 【问题描述】:我应该如何正确引用 UML 类图上的协议?
例如,我的ListViewController
符合UITableViewDataSource
和UITableViewDelegate
协议...我将cellForRowAtIndexPath
或numberOfRowsInSection
方法放在哪里? ...在ListViewController
实现它们的地方或类似的地方:
<<Protocol>>
UITableViewDataSource
---------------------
---------------------
-numberOfRowsInSection
如果我做后者,ListViewController
类和协议框之间的关联是什么?我要展示的只是我如何以某种方式与 Cocoa Touch 挂钩。
谢谢。
【问题讨论】:
【参考方案1】:协议在某种程度上等同于 java 中的接口,因此您可以找到 java UML 图并对其进行处理。
另外,来自http://en.wikipedia.org/wiki/Class_diagram:
在 UML 建模中,实现 关系是之间的关系 两个模型元素,其中一个模型 元素(客户端)实现 其他模型元素的行为 (供应商)指定。一种 虚线表示实现 带有未填充箭头的线 对供应商。
...
之间的一种实现关系 类和接口以及它们之间 组件和接口表明 类实现操作 由接口提供。
因此,如果我没看错的话,ListViewController
将有一条虚线,其中一个未填充的箭头指向UITableViewDataSource
。
【讨论】:
以上是关于在 UML 类图上表示 Objective C 协议的主要内容,如果未能解决你的问题,请参考以下文章
UML实践详细经典教程----用例图顺序图状态图类图包图协作图