Explicación de la Semana 2 - "Clases" (III/IV)

Bien, seguimos con la parte de los diagramas de clases correspondiente al desafío de la Semana 2.

Empecemos con algunas puntualizaciones:
  • Igual que con los casos de uso, según quién sea el usuario objetivo de la documentación UML esta tendrá más o menos detalle.
  • Los "get / set" no son necesarios documentar, lo mismo con toString y el constructor (aunque este último puede documentarse si representa alguna información importante como en el caso del patrón de diseño Singleton)
Tratando de mantener un perfil "pragmático" ("simple y sencillo") los diagramas de clases los presento por paquete y no todos juntos (a los efectos es lo mismo, pero aporta un poco más de claridad).

Para el paquete "Presentación"

Básicamente es eso lo que hay en la capa presentación, una clase Fachada que se encarga de recibir todas las peticiones del exterior y derivarla luego a la clase correspondiente (esta estrategia se aplica en todas las capas), así se evita acceder desde fuera del paquete a cada clase que lo compone (un tema de orden y simplificación, de lo contrario sería una enredadera con invocaciones de todos lados).

Nota: como en java, el "void" representa que ese método no devuelve valor alguno.

Para el paquete "Dominio"

El DominioFachada tiene una flecha punteada que representa la dependencia ("relación de uso") con la clase Usuario, lo cual significa que en algún momento o recibe la clase por parámetro o la crea dentro de algún método (en este caso es la última opción).

Nota: aparece una nueva representación de UML, una "nota" (el dibujo representa una hoja con la punta superior derecha doblada), donde se puede agregar comentarios con respecto al diagrama o a partes del mismo (se suele agregar una flecha que va desde la nota al elemento del diagrama que se está comentando). Conviene usarlo para clarificar el diagrama o hasta para poner pequeños trozos de código a modo de ejemplo para guiar la futura implementación.

Para el paquete "Persistencia"

Se ven dos métodos, uno que no tiene parámetros pero como resultado retorna un Array (o "vector") con datos y el segundo recibe un parámetro de tipo Array y retorna un Array de datos.

En este caso se usa la "nota" para evitar tener que representar la clase del framework en este diagrama y dejar esta representación para otro diagrama exclusivo. Hacer lo contrario tampoco quiere decir que está mal, es un criterio adoptado.

Respuesta esperada: lo más parecido a las clases representadas aquí, no teniendo en cuenta si se mostraban las mínimas necesarias o todas las que hay en el sistema, se evaluó fundamentalmente la construcción de las clases y sus relaciones.

Dudas sobre este tema, en los comentarios en esta entrada ;-)

1 comentario:

colombiansoe dijo...

hola enrique... que mas.. como van las cosas.. mira andaba buscando por donde hacerte una pregunta acerca de la utilización de las clases del dominio...y pues creo que por esta entrada puede ser...

mi pregunta es un tanto enredada 8) y se notará lo enredada que estoy… pero aja de aclarar dudas y lagunas es que se trata todo esto.. pero aja Aquí va...

Bueno en que momento entran las clases del dominio de un problema en juego?? Como por ejemplo la de usuario que pues es la única que tenemos ahí en el proyecto...

En que momento yo hago uso de esos atributos y métodos... mmm 8).. por ejemplo nosotros andamos solo trabajando con consultas cierto! hasta el momento, y por lo que he visto, no tocamos las clases del dominio para obtener los datos que se quieren, si no que nos pasamos directo a una consulta con la base de datos... estoy sacando de concepto de "clases del dominio" a la clase DominioFachada porque ella en si es la que va a comandar o mejor a decidir para quien va que cosa. Entonces a lo que me refiero es que nosotros no usamos a la clase Usuario para obtener los datos o bueno solo en una oportunidad cuando hacemos la consulta de traer un objeto Usuario, pero en las demás consultas no hacemos referencia la calase Usuario sino que simplemente llamamos a persistencia y hacemos una consulta directa y retornamos…

Por otro lado esta el cuento de cuando se vayan a ingresar algunos datos, en esos casos a donde me voy a la clase no?? O me voy directo a hacer el insert 8) y mas si en ese registo de la información intervienen varias Clases, varia información por ingresar..

La verdad Enrique no se si me haga entender.. pero la neta a lo mexicano es que necesito que me ayudes en eso porque también además de todo esto, no se si te acuerdes que te comente en algún entonces una vez jeje que conversamos por gmail, que ando en mi proyecto de grado, y pues estoy tratando de aplicar lo que estamos aprendiendo contigo y la verdad ando hiper enredada en esos puntitos que te acabo de mencionar NO MAS jaja ... Bye gracias…

Entradas populares