Кажется разумным использовать UML-интерфейсы для визуализации Swift-протоколов в UML. Но как я должен визуализировать расширение, которое обеспечивает реализацию по умолчанию для определенного протокола? Должен ли я просто использовать класс, подобный <<extension>>ProtocolName
, который наследуется от этого протокола?Как визуализировать протоколы и расширения в UML?
3
A
ответ
2
Расширение существует в рамках определенного класса и просто добавляет некоторые функции к нему. Поэтому я бы представил расширение как подкласс (в конечном итоге упаковка может быть предпочтительной). Чтобы показать, что это расширение, я бы использовал стереотип. Зависимость от расширяемого класса несколько необязательна, поскольку в контексте это соглашение об именах.
Если расширение будет дополнительно придерживаться какой-то протокол просто добавить реализации отношения к классам согласно интерфейса.
Это один из способов выразить это. Поскольку для расширения нет встроенной конструкции UML, вы относительно свободны придумывать здесь свою идиому.
Смежные вопросы
- 1. Протоколы и расширения swift
- 2. Быстрые протоколы и расширения протоколов с CollectionType
- 3. Ориентированные на Swift-протоколы расширения
- 4. UML Squence Diagram - визуализировать проверку данных
- 5. Как лучше всего визуализировать «матрицу разрешения» в диаграмме классов UML?
- 6. Как визуализировать отсутствующий ответ в диаграмме последовательности uml?
- 7. В чем разница между узлом UML и компонентом UML?
- 8. Как визуализировать java-код, используя нотации UML внутри Eclipse?
- 9. индексы и протоколы в swift
- 10. Набор и протоколы в Swift
- 11. сложные протоколы и делегаты
- 12. IBInspectable и протоколы
- 13. Прикладные делегирования и протоколы
- 14. Kaa networking и протоколы
- 15. Объектив-C и протоколы
- 16. Протоколы HTTP и HTTPS
- 17. Идентификация объекта и протоколы
- 18. Swift протоколы и полиморфизм
- 19. Как графически представить точку расширения использования примера UML?
- 20. Компилятор Clojure проверяет, реализуют ли протоколы и типы протоколы?
- 21. Как работают протоколы передачи?
- 22. Как внедряются внутренние протоколы?
- 23. Как реализуются сетевые протоколы?
- 24. Протоколы и делегаты для чайников
- 25. Как делить протоколы между Clojure и ClojureScript
- 26. В UML мы можем использовать точки расширения с Include Usecases?
- 27. Протоколы Doxygen и Objective-C
- 28. Маски подсети и протоколы маршрутизации
- 29. Сокеты (порты), порты и протоколы
- 30. Как указать нестандартные протоколы Транспорта и Транспорта
Возможно [этот вопрос и ответы] (http://stackoverflow.com/questions/3686210) могут вас заинтересовать, см. В частности [@Klaim: s answer] (http://stackoverflow.com/a/3686405/ 4573247). – dfri