Как визуализировать протоколы и расширения в UML?
кажется разумным использовать интерфейсы UML для визуализации протоколов Swift в UML. Но как визуализировать расширение, которое обеспечивает реализацию по умолчанию для определенного протокола? Должен ли я просто использовать класс, как <<extension>>ProtocolName
что наследуется от этого протокола?
1 ответов
расширение существует в области определенного класса и просто добавляет к нему некоторую функциональность. Поэтому я бы представил расширение как подкласс (в конечном итоге упаковка может быть предпочтительной). Чтобы показать, что это расширение я бы использовал стереотип. В зависимости от класса, который является необязательным, поскольку в контексте именования.
Если расширение будет дополнительно придерживаться некоторого протокола, который вы просто добавляете отношения реализации к соответствующим классам интерфейса.
Это один из способов выразить это. Поскольку нет собственной конструкции UML для расширения, вы относительно свободны изобретать собственную идиому здесь.