Ответ 1
Обычно генераторы представлены как параметр шаблона классификатора. Вот пример, как он выглядит в модуле UB NetBeans:
Как вы указываете общий класс или интерфейс в диаграмме классов?
Я ищу две вещи:
Спасибо!
Обычно генераторы представлены как параметр шаблона классификатора. Вот пример, как он выглядит в модуле UB NetBeans:
UML называет их параметризованными типами - см. примеры здесь.
Что касается инструментов, я знаю, что MagicDraw поддерживает их.
Шаблон UML поможет!
Определение дженериков с помощью шаблонов UML
http://www.eclipse.org/articles/article.php?file=Article-Defining-Generics-with-UML-Templates/index.html
Как я могу моделировать общие классы Java, если бы я делал это с помощью ручки и бумаги.
AFAIK нет конкретной поддержки для этого в UML, лучше всего использовать стереотип типа <<generic>>
. Но на бумаге с ручкой нет ничего проще, чем писать MYType<T>
: -)
Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.
Стереотипы поддерживаются всеми инструментами UML, которые я видел до сих пор. Конечно, уровень поддержки может отличаться; однако, поскольку я почти не использую никаких инструментов UML, кроме салфеток:-) У меня нет большой базы для сравнения здесь.
Я ищу две вещи на самом деле: один из них - это то, как я могу создать общие классы Java, если бы я делал это с помощью пера и бумаги.
Книга Крейга Лармана Применяя UML и Patterns 3e, есть инструкторские слайды с рисунками из книги. На рисунке 15.5 показано следующее:
Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.
Мне нравится PlantUML, который производит следующее изображение из
skinparam style strictuml
participant sales as "sales:\nArrayList<Sale>"
Для диаграмм классов, производит
skinparam style strictuml
hide empty members
class "ArrayList<Sale>" as S
class Store {
Store()
}
Store "1" -> "1" S : " sales "
В Netbeans Объект для использования называется "Классификатор деривации". Это объект, который следует использовать для MyGeneric в ответ от Виталия Федоренко
Как я могу моделировать общие классы Java, если бы я делал это с помощью ручки и бумаги.
Это обобщение стрелка, базовый класс, если он абстрактный, должен быть написан курсивом. Также можно отметить стереотип.
Во-вторых, какие инструменты uml поддерживают общие классы/интерфейсы.
Используйте http://staruml.io/. Действительно хороший инструмент, вы можете управлять всеми проектными диаграммами в одном месте. В правом верхнем углу есть дерево объектов/диаграмм, поэтому вы можете использовать одни и те же классы (другие объекты) на разных диаграммах.