Paso 1: Crear Editorial - Explicación del diseño

Las clases que implementan este paso se presentan en la siguiente figura:

Las clases en rosado pertenecen a la capa de recursos REST, las clases en amarillo a la capa de lógica y las clases en verde a la capa de persistencia.

Las decisiones más importantes del diseño son:

  • 1) En la capa de recursos REST, el método POST que se encarga de la creación de un recurso editorial, recibe y devuelve un objeto EditorialDTO. La diferencia del objeto que se recibe con el que se devuelve, es que al devolverlo, este objeto ya tiene un id creado automáticamente por la base de datos. Estos objetos son transformados de json en DTOS y viceversa, través de JAX-RS que lo hace de forma automática.
  • 2) La clase DTO además de tener los atributos que representan los objetos json, contienen la lógica de la conversión entre DTOS y Entities y viceversa. Hay un constructor que recibe un Entity y retorna un DTO y hay un método llamado toEntity que convierte el DTO a Entity.

El siguiente diagrama de secuencias ilustra los llamados y las conversiones de los datos:

  • 3) La capa de lógica no sabe de objetos DTOs. Esta capa sólo maneja objetos Entity.
  • 4) La capa de lógica válida reglas de negocio. En este ejemplo, se debe verificar que no exista ya (en la base de datos) una editorial con el nombre igual a la que se está intentando crear.
  • 5) Si la editorial con ese nombre ya existe, la verificación se hace utilizando un método de la persistencia quien debe ir a buscar en la BD, se debe disparar una excepción. En nuestro ejemplo BusinessLogicException.
  • 6) Si no existe, la lógica invoca a la persistencia para crear la nueva entidad en la BD.

El siguiente diagrama de secuencias ilustra los llamados suponiendo que la editorial no existe.

Para la explicación detallada del código ir a paso-1_código.

results matching ""

    No results matching ""