В диаграмме классов есть ли способ указать, что класс является внутренним классом другого класса?UML: Внутренний класс в диаграмме классов
Или это считается чистым выбором реализации?
В диаграмме классов есть ли способ указать, что класс является внутренним классом другого класса?UML: Внутренний класс в диаграмме классов
Или это считается чистым выбором реализации?
Рассмотрите возможность использования отношения вложенности (строка с символом «+» по кругу на родительском конце).
Для такого рода вещей у вас есть отдельные диаграммы, показывающие внутреннюю структуру или обработку класса.
Как правило, эти дополнительные диаграммы являются диаграммами активности для отображения обработки. Иногда по одному методу. Вы также можете иметь внутреннюю диаграмму последовательности, показывающую взаимодействия API.
Нет причин, по которым вы не можете иметь дополнительную диаграмму классов, чтобы показать внутреннюю структуру класса.
Поскольку UML не должен быть напрямую зависит от конкретной реализации, я хотел бы использовать именование, такие как:
OuterClass vs OuterClass::InnerClass
Я бы себе представить, если вы надеетесь перепроектировать или код генерировать to/from UML, что разные инструменты будут иметь разные методы (если они вообще его поддерживают).
Быстрое испытание какой-либо обратной инженерии с использованием Enterprise Architect (EA v7) подтверждает, что они используют приведенный выше синтаксис InnerClass::OuterClass
при обработке некоторого C# с общедоступным внутренним классом.
Я буду использовать «отношения гнездования», о которых говорил шимпанзец, но ваша идея была хорошей, спасибо, спасибо! – Barth 2008-10-28 09:24:35
Или вы можете показать внутренний класс, полностью закрытый внешним классом, один прямоугольник внутри другого.
Я не могу найти эту ссылку в StarUML. Я что-то упускаю? – anon58192932 2013-04-19 00:53:20