Pregunta

En un diagrama de clase, ¿hay una manera de especificar que una clase es una clase interna de otra clase?

¿O se considera como una opción de implementación pura?

¿Fue útil?

Solución

Considere usar una relación de anidación (una línea con un '+' en un círculo en el extremo primario).

Otros consejos

Dado que se supone que UML no debe ser directamente específico de la implementación, usaría una convención de nomenclatura, como:

OuterClass vs OuterClass::InnerClass

Me imagino que si desea realizar una ingeniería inversa o generar código a / desde UML, diferentes herramientas nos darían diferentes técnicas (si es que lo admiten).

Una prueba rápida de ingeniería inversa con Enterprise Architect (EA v7) confirma que usan la sintaxis InnerClass :: OuterClass de arriba cuando procesan C # con una clase interna pública.

Para este tipo de cosas, tiene diagramas separados que muestran la estructura interna o el procesamiento de una clase.

por lo general, esos diagramas adicionales son diagramas de actividad para mostrar el procesamiento. A veces uno por método. También puede tener un diagrama de secuencia interno que muestre las interacciones de la API.

No hay razón para que no pueda tener un diagrama de clase adicional para mostrar la estructura interna de una clase.

O puede mostrar la clase interna completamente encerrada por la clase externa, un rectángulo dentro de otro.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top