Представление протоколов Objective C на диаграммах классов UML - PullRequest
8 голосов
/ 13 апреля 2010

Как правильно ссылаться на протоколы на диаграмме классов UML?

Например, мой ListViewController соответствует протоколам UITableViewDataSource и UITableViewDelegate ... куда мне поместить методы cellForRowAtIndexPath или numberOfRowsInSection? ... в ListViewController где они реализованы или как-то так:

         <<Protocol>>
    UITableViewDataSource 
    ---------------------

    ---------------------
    -numberOfRowsInSection 

Если бы я сделал последнее, какой была бы связь между классом ListViewController и блоком протокола? Все, что я должен показать, это то, как я каким-то образом подключаюсь к Cocoa Touch.

Спасибо.

1 Ответ

12 голосов
/ 19 апреля 2010

Протоколы в некотором роде эквивалентны интерфейсам в Java, поэтому вы можете найти диаграмму Java UML и поработать над этим.

Также от http://en.wikipedia.org/wiki/Class_diagram:

В UML-моделировании - реализация отношения это отношения между два модельных элемента, в которых одна модель элемент (клиент) реализует Поведение, что другой элемент модели (поставщик) уточняет. реализация обозначена пунктирной линия с незаполненной стрелкой по направлению к поставщику .

...

Реализация отношений между классы и интерфейсы и между компоненты и интерфейсы показывают, что класс выполняет операции предлагается интерфейсом.

Так что, если я правильно читаю, ListViewController будет иметь пунктирную линию с незаполненной стрелкой, указывающей на UITableViewDataSource.

...