Tengo algunas clases privadas internas y no estoy seguro de dónde colocarlas en los diagramas de mi clase. ¿Deberían estar en sus clases externas o solos?Clases privadas y uml
Respuesta
UML es para diseñar o describir arquitecturas complejas. No creo que una clase interna sea tan importante mencionarlo en un diagrama de clase UML. Si diseña su sistema en el nivel de interfaz, su implementación y la clase privada estará desenfocada, al igual que todos los métodos privados. Sus diagramas solo deben contener métodos públicos = métodos de interfaz.
Puede representar externamente con un containment
tener un signo +
en el lado de la clase externa. Lo puedes encontrar here.
No creo que pueda tener una clase dentro de otra clase en un diagrama de clase UML. La forma en que los presente en UML debe reflejar su relación estructural con las clases principales. Si se crean interiores solo por conveniencia, puedes conectarlos. Si tienen relaciones de contención o agregación, UML tiene la sintaxis adecuada. En cualquier caso, las clases internas son específicas del idioma y sería extraño (y de hecho un diseño erróneo) que UML tenga algún soporte explícito para ellas.
potencialmente relacionados discusión externa: http://www.coderanch.com/t/99318/patterns/Inner-Class-UML
Siempre hay una diferencia entre el lenguaje UML y cualquiera que sea la herramienta de modelado que está utilizando, por lo que es la mejor manera de lograr algo depende de la herramienta.
En UML, las clases tienen visibilidad/alcance, al igual que los miembros de la clase. En otras palabras, UML permite clases privadas, pero eso no significa que su herramienta pueda mostrar la "privacidad" de la clase.
UML también permite que las clases contengan otras clases. En otras palabras, las clases pueden actuar como paquetes. Nuevamente, cómo varía la herramienta esto varía.
Desde una perspectiva pura de UML, recomendaría tener la clase interna contenida dentro de la externa y marcada como privada.
En un diagrama, si su herramienta no muestra el espacio de nombre, puede cambiar el tamaño de la clase externa y colocar el interior dentro de ella. Si su herramienta permite el cambio de tamaño, eso es.
Finalmente, a menos que solo tenga ocho o diez clases en total, le recomendaría mostrar las clases internas en un diagrama separado.
Esta es la solución que encontré
Fuente http://www.informit.com/articles/article.aspx?p=336264&seqNum=3
- 1. Clases privadas anidadas
- 2. Clases de C++ (públicas, privadas y protegidas)
- 3. clases públicas Java con clases privadas dependientes
- 4. clases privadas en Objective C
- 5. TDD y UML juntos
- 6. Creación de clases con propiedades privadas
- 7. métodos públicos en clases privadas de paquete
- 8. Cuándo usar clases de asociación UML?
- 9. Patrón de diseño y UML
- 10. Apple y API privadas
- 11. Funciones privadas y variables ExtJs4?
- 12. Representando una relación de amigo entre clases en UML
- 13. Creación de diagramas de clases UML en NetBeans 7.1.1
- 14. UML composición diagrama de clases con la clase jerarquías
- 15. Tragamonedas públicas y privadas en R?
- 16. ¿Las clases privadas se sellan en la compilación?
- 17. ¿Es una convención prefijar las clases privadas con guiones bajos?
- 18. Cómo puedo hacer constantes de clases privadas en Ruby
- 19. Representación textual para diagramas de clase UML: DSL para UML
- 20. UML class diagram enum
- 21. Agregación UML vs asociación
- 22. UML Diagram Tool - Eclipse plugin?
- 23. C++ Estructuras Privadas
- 24. Intellij UML Diagrams
- 25. UML asociación multiplicidad
- 26. Objective-C y UML de modelado
- 27. NetBeans ("6.8" y "posterior") - ¿Soporte UML?
- 28. ¿Las claves públicas y privadas son intercambiables?
- 29. Colas privadas y públicas en MSMQ
- 30. C Variables privadas Obtener y establecer métodos