Arquitectura

Arquitectura de ataStore

Arquitectura de la aplicación

El código de la aplicación está organizado en capas.

Ventajas de la separación en capas

La separación en capas nos proporciona:

  • Separación de conceptos: cada capa tiene una responsabilidad definida. Por ejemplo, la seguridad por autorización quedaría en la capa de presentación, mientras que la gestión de transacciones no pasaría de la capa de servicio.
  • Facilidad de testeo: al ser independientes, las clases de una capa se pueden testear unitariamente, sin implicar al resto del código.
  • Modificación o extensión. Por ejemplo, podríamos cambiar el sistema de acceso a datos o añadir un mecanismo de caché en la capa de servicio.

Capas

Modelo de dominio

Todas las clases que representan el problema que estamos modelando y sus relaciones. En nuestro caso, un gestor de tiendas virtuales tendrá tiendas, clientes, productos, pedidos, ofertas, etc.

El modelo de dominio no contiene código específico relativo a la persistencia en base de datos o al procesado de HttpRequest.

Las clases se encuentran bajo el paquete com.atotarreu.store.domain.

Capa de presentación

Aquí está todo el código que recibe las peticiones de los clientes web y genera la respuesta HTML. Forman parte de esta clase las clases Controller e Interceptor que se encuentra en el paquete com.atotarreu.store.web.

Capa de negocio o servicio

Aquí se encapsula la lógica de la aplicación. Estas clases pueden realizar acciones complejas que combinen diferentes objetos del modelo de dominio y llamadas a las clases de la capa de integración.

Las clases se encuentran bajo el paquete com.atotarreu.store.service.

Capa de integración

Conjunto de clases que, principalmente, realizan la persistencia de los objetos (lecturas, inserciones, modificaciones y borrados). Todo el acceso a la base de datos se encuentra encapsulado aquí.

También se pueden integrar otros proveedores de servicios, como podrían ser servidores de correo, LDAP, FTP, servicios web, etc.

Las clases se encuentran bajo el paquete com.atotarreu.store.dao.

 


Volver