Подтвердить что ты не робот

Как пометить класс как singleton в UML?

У меня есть UML-диаграмма, на которой я хочу отметить некоторые классы как одиночные (потому что они есть). Как мне это сделать? Я изобретаю новый стереотип или просто добавляю комментарий или есть некоторые существующие средства для этого?

4b9b3361

Ответ 1

Крейг Ларман "Применение книги UML и шаблонов" (3-е издание) дает следующие обозначения для диаграммы последовательности:

Обратите внимание, что это означает, что перед вызовом doA объект :Register может получить доступ к singleton стандартным способом, например, getInstance(). Это делает диаграмму более гибкой.

Для диаграммы классов:

Ответ 2

"Что наиболее четко представит концепцию вашему читателю".

Существует разумный пример основного внешнего вида над Wikipedia. Он показывает частный конструктор и общедоступный метод getInstance(), который возвращает объект типа Singleton. Я также считаю стереотип вполне разумным способом сделать его явным, не требуя от вашего читателя разобрать детали объекта класса.

Ответ 3

Чтобы указать, что класс является одноэлементным, вы можете написать ограничение между фигурными скобками: {число экземпляров = 1}. Это ограничение должно быть помещено в отсек ограничений в прямоугольнике класса.

classdiagram

Спецификация UML 2.5, §7.6.4, определяет обозначения для ограничений в целом, а §9.2.4 - как показать ограничения классификатора:

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

В качестве альтернативы вы можете изобрести свой собственный стереотип "единый".