Saltar al contenido

¿Debo incluir getters y setters en el diagrama de clases?

Solución:

No sería apropiado incluirlos. Puedes agregar una línea que diga métodos de acceso

Incluir getters y setters sería una mala idea. Están desperdiciando “bienes raíces” para duplicar información que ya se muestra en la sección de atributos / propiedades de la clase.


Otra respuesta sugiere que el diagrama UML necesita documentar la visibilidad “inusual” de los captadores y definidores de Java, o el comportamiento “especial” en captadores y definidores.

Supongo que en algunos casos eso podría estar justificado. Sin embargo, contrarrestaría eso:

  • Un diagrama UML no necesita mostrarlo todo. Solo las cosas importantes. De hecho, una de las señales de un buen diagrama UML es que no está abarrotado de cosas sin importancia. Por lo tanto, estos detalles solo deben incluirse si son realmente importantes.

  • Los detalles finos de los límites de abstracción generalmente no son una preocupación del diseño. Un programador de Java debe conocer los conceptos básicos de cómo implementar la abstracción / encapsulación cuando sea necesario. Además, lo más probable es que el programador tenga una mejor comprensión de las situaciones en las que se necesitan límites de abstracción “porosos”; por ejemplo, por motivos de rendimiento. (UML no está diseñado para expresar ese tipo de cosas).

  • El comportamiento preciso de los campos y métodos generalmente no es asunto de los documentos de diseño UML. (¡A menos que el diseñador también vaya al extremo de especificar las precondiciones, poscondiciones e invariantes de los métodos en OCL!) Sin embargo, si un diagrama UML necesidades decir que un campo nunca puede ser null, o que obtener un campo incrementa un contador, debería poder describirlo como comentarios (o restricciones de OCL) en el campo.

Finalmente, el diagrama UML no debería ser la única documentación técnica del software. Los javadocs documentan automáticamente los modificadores de acceso / visibilidad de métodos y campos. Asimismo, si el programador ha implementado getters y setters con un comportamiento “especial” que necesita documentarse, esto debe describirse en los comentarios de javadoc.

No debe incluir captadores y definidores en su diagrama hasta que hagan algo especial: comprobación de nulos, etc. Pero es una señal de mal diseño, por lo que la respuesta general es “No, no deberías”.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *