16

Estoy obligado a dibujar un diagrama de clases para mi aplicación JSF para la documentación del proyecto. Así que tengo muchas clases como beans administrados, con muchos atributos por lo tanto muchos getters y setters.¿Debo incluir getters & setters en el diagrama de clases?

Cuando dibujo el diagrama de clases ¿debería incluir también los getters & setters en el diagrama? o puedo simplemente dejarlos?

Respuesta

14

No sería apropiado incluirlos. Usted puede añadir una línea diciendo métodos descriptores de acceso de

+1

¿Podría explicar a quién le agregaría esa línea? Estoy inmerso en un UML y no entiendo la idea. – p2kmgcl

+0

@JigarJoshi Cuando agregué el método de acceso, pasó automáticamente en un objeto de entidad como parámetro. Cómo soluciono esto – hyperfkcb

+2

Si está utilizando una herramienta, la mejor manera sería agregar un cuadro de comentarios como "se omiten los métodos de acceso comunes". – atorres

4

Incluyendo captadores y definidores sería una mala idea. Están desperdiciando "bienes inmuebles" para duplicar información que ya se muestra en la sección de atributo/propiedad de la clase.

3

No debe incluir getters y setters en su diagrama hasta que hagan algo especial: null checking, etc. Pero es un signo de mal diseño, por lo que la respuesta general es "No, no deberías".

+0

'hasta que hagan algo especial: comprobación nula, etc. Pero es un signo de mal diseño. ¿Querías decir que es malo comprobar si hay un nulo en setter/getter? –

+1

en algunos casos, la comprobación nula no es buena, sino la forma en que se usa. Supongamos que tiene el siguiente método en una entidad hibernada: getPerson() {if (persona == nulo) persona = nueva Persona(); persona de regreso; }. Este método crea implícitamente una entidad, mientras que no se supone que haga esto. –

+1

Sí, ciertamente depende del diseño y las necesidades comerciales. –

0

UML es una notación bastante informal, lo mejor sería establecer primero las reglas que va a utilizar en su proyecto u organización. Por ejemplo, es habitual ocultar getters y setters, pero a veces es importante mostrar todos los detalles. Una regla podría ser:

si su propiedad se implementa con una variable privada y un par de getters y setters con la misma visibilidad, solo crea una propiedad con esta visibilidad.

si su propiedad se implementa con una variable privada, pero el captador y el colocador tienen visibilidades distintas, como un captador público y un colocador protegido, sería aconsejable mostrar el captador y el colocador en el modelo.

hijo y así ...

Cuestiones relacionadas