Arquitectura per capes¶
La implementació de l'aplicació ha de seguir una arquitectura per capes, que permeta separar les diferents responsabilitats de l'aplicació i facilite la seua evolució i manteniment.
Les capes que s'han de definir són les següents:
-
Presentació: Conté la interfície d'usuari de l'aplicació, que pot ser una aplicació web, una aplicació mòbil, etc. Aquesta capa és la que interactua amb l'usuari final.
-
Controladors: Conté la lògica que s'encarrega de gestionar les peticions de l'usuari i de retornar les respostes adequades.
-
Domini: Conté la lògica de negoci de l'aplicació, que s'encarrega de coordinar les diferents operacions que s'han de realitzar.
Aquesta capa conté:
- Entitats: Classes que representen els objectes de negoci de l'aplicació.
- Serveis: Classes que contenen la lògica de negoci de l'aplicació.
-
Persistència: Conté la lògica per gestionar l'accés a les dades de l'aplicació.
- Repositoris: Classes que s'encarreguen de gestionar l'accés a les dades de l'aplicació.
- DAOs: Classes que s'encarreguen de realitzar les consultes a la base de dades.
- RowMappers: Classes que s'encarreguen de mapar les files de la base a entitats de domini.
graph TD
classDef app fill:#ffd,stroke:#aa3,stroke-width:1px;
presentacio["__Presentació__"]
controladors["__Controladors__"]:::app
domini["__Domini__
_Entitats i Serveis_"]:::app
persistencia["__Persistència__
_Repositoris, DAOs i RowMappers_"]:::app
base_dades[("__Base de dades__")]
presentacio --> controladors
controladors --> domini
domini --> persistencia
persistencia --> base_dades
Figura 1. Arquitectura per capes de l'aplicació.