Этот поток суммирует препятствия, с которыми сталкивается любой инструмент UML, желающий представлять классы Scala:
- Официальное представление миксинов в UML
- замыкания
- члены типа Scala
- границы параметров конструктора класса (также известные как "тип шаблона" границы / ограничения)
- ковариантное и контравариантное наследование конструктора класса
- связь между классом или признаком и сопутствующим объектом
Этот тезис (" Evaluierung des Einsatzes von Scala bei der Entwicklung für die Android-Plattform", pdf, German) действительно добавляет стереотипы для характерных миксинов и других специфических для scala элементов (стр. 146).
Что добавлено Meiko Rachimow в 2009 году:
атрибуты, геттер и сеттер
Для всех опубликованных атрибутов существуют неявные геттеры (attribute1
и attribute2
), не болееpt видимость была объявлена как private
(attribute3
).Если опубликованные атрибуты помечены стереотипом Var
, они являются переменными, для которых существует неявный установщик (attribute2
).Стереотип lazy
помечает переменные экземпляра как ленивые (attribute4
).
классы и обобщения
Как в UML,универсальные классы помечены абстрактным типом.Используя синтаксис языка Scala, для этого типа могут быть объявлены верхняя и нижняя границы (EineKlasse
).В качестве границ можно использовать структурированные типы, атрибуты и методы которых заключены в фигурные скобки (EineKlasse2
).Параметры общего типа методов заключаются в квадратные скобки (operation
).
черты
Черты отображаются в виде абстрактных классови помечены стереотипом trait
.Абстрактные атрибуты и методы отображаются курсивом (attribute2
, operation2
).Для абстрактных атрибутов стрелка зависимости может быть помечена стереотипом requires
(Trait3
, attribute3
).С другой стороны, стереотип self
используется для самоссылающихся типов (Trait4
).Если признак наследует другой признак, наследование отображается со стрелкой наследования (Trait2
).Этот тип стрелки также используется, если класс расширяет черту (Klasse
).Чтобы подчеркнуть «сочетание» признаков, стрелка наследования может быть помечена стереотипом mixin
(Klasse
).
одноэлементных объектов
Объекты-одиночки отображаются как классы и помечаются стереотипом singleton
.Возможно, что существуют два элемента класса с одинаковыми именами.Фактически это одноэлементный объект с принадлежащим классом-компаньоном.В этом случае стрелка зависимости помечается стереотипом hasA
.