2016-05-02 2 views
2

Я говорю о проблемах/модулях/расширениях, которые существуют, например, в Ruby и Swift.UML как представлять класс-класс/модуль/расширение

Модуль Ruby - это то, что класс может включать (= добавить функции модуля как свои собственные методы экземпляра) или расширить (добавить функции модуля как свои собственные методы класса).

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

(пожалуйста, поправьте меня, если я ошибаюсь)

Как бы вы представляете такую ​​Рубиновый модуль/Swift расширение в UML, и его связь с классом он включен в/она распространяется?

+0

Я проектирую визуальную парадигму, есть список «стереотипов», которые, возможно, могут поместиться: «вспомогательные», «агент», «возможность», «делегировать», ...? –

ответ

4

Я также не знаю, стандарт для этого, но было бы смоделировать это так:

enter image description here

Realize отношение с <<import>> стереотипа. Может быть, Realize слишком силен в контексте и простой Dependency, но все же с этим стереотипом было бы лучше.

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

Смежные вопросы