java - online - UML Class Diagram and Generics
uml java netbeans (7)
¿Cómo se indica una clase o interfaz genérica en un diagrama de clase?
Estoy buscando dos cosas realmente:
- Una es cómo modelar las clases genéricas de Java si lo hiciera con lápiz y papel.
- En segundo lugar, qué herramientas uml admiten clases / interfaces genéricas.
¡Gracias!
Estoy buscando realmente dos cosas: una es cómo modelar las clases genéricas de Java si lo hiciera con lápiz y papel.
El libro de Craig Larman, Aplicación de UML y Patrones 3e tiene diapositivas de instructor con las Figuras del libro. Lo siguiente es de la Figura 15.5:
En segundo lugar, qué herramientas uml admiten clases / interfaces genéricas.
Me gusta PlantUML, que produce la siguiente imagen de
skinparam style strictuml
participant sales as "sales:/nArrayList<Sale>"
Para diagramas de clases, produces
skinparam style strictuml
hide empty members
class "ArrayList<Sale>" as S
class Store {
Store()
}
Store "1" -> "1" S : " sales "
Una es cómo modelar las clases genéricas de Java si lo hiciera con lápiz y papel.
Es una flecha de generalización, la clase base, si es abstracta, debe escribirse en cursiva. También se puede marcar con estereotipo.
En segundo lugar, qué herramientas uml admiten clases / interfaces genéricas.
Use http://staruml.io/ . Herramienta realmente agradable, puedes administrar todos los diagramas de proyectos en un solo lugar. En la esquina superior derecha, hay un árbol de objetos / diagramas, por lo que puedes usar las mismas clases (otros objetos) en diferentes diagramas.
Una es cómo modelar las clases genéricas de Java si lo hiciera con lápiz y papel.
AFAIK no hay soporte específico para esto en UML, lo mejor puede ser utilizar un estereotipo como <<generic>>
. Pero en el papel con pluma, no hay nada más sencillo que escribir MYType<T>
:-)
En segundo lugar, qué herramientas uml admiten clases / interfaces genéricas.
Los estereotipos son compatibles con todas las herramientas UML que he visto hasta ahora. Por supuesto, el nivel de soporte puede diferir; sin embargo, dado que apenas utilizo herramientas UML aparte de las servilletas :-) No tengo mucha base para comparar aquí.
¡La plantilla de UML ayudará!
Definición de genéricos con plantillas UML
http://www.eclipse.org/articles/article.php?file=Article-Defining-Generics-with-UML-Templates/index.html
En Netbeans, el objeto a usar se llama "Clasificador de Derivación". Este es el objeto para usar para MyGeneric en Answer from Vitalii Fedorenko
Por lo general, los genéricos se representan como el parámetro de la plantilla del clasificador. Aquí está el ejemplo de cómo se ve en el complemento NetBeans UML: