Ir al contenido

Arquitectura por capas

La arquitectura por capas divide una aplicación en niveles con responsabilidades específicas. Cada capa se comunica con las adyacentes y evita asumir tareas que no le corresponden.

Haz clic en cada capa para ver sus responsabilidades específicas:

Separación de responsabilidades, cohesión y acoplamiento

Sección titulada «Separación de responsabilidades, cohesión y acoplamiento»
  • Separación de responsabilidades: cada capa tiene un propósito. Si cambia la base de datos, el impacto debería concentrarse en persistencia.
  • Alta cohesión: los elementos de una capa trabajan sobre tareas relacionadas entre sí.
  • Bajo acoplamiento: las capas dependen de interfaces o abstracciones. La lógica conoce un repositorio, no si la implementación usa MySQL o MongoDB.

Sigue una orden a través de las capas

Avanza paso a paso y observa cómo una misma operación cambia de responsabilidad.

EscenarioPOST /orders
API RESTPaso 1 de 6
Recibir la petición

La API recibe POST /orders y valida el formato y la autenticación.

POST /orders
Ventajas Desventajas
Separación clara de responsabilidades Complejidad adicional
Mayor mantenibilidad Sobrecosto de rendimiento entre capas
Pruebas aisladas por capa Rigidez y cambios en cascada
Reutilización de la lógica DTO repetitivos
Trabajo en equipo Curva de aprendizaje
Mejor control de seguridad Depuración a través de varias capas
1. ¿Qué capa debe asignar el código HTTP 201 al crear una orden?
2. ¿Dónde se valida el inventario disponible?
3. ¿Qué principio permite cambiar MySQL por MongoDB sin propagar detalles a la lógica?
4. ¿Cuál es un posible costo de esta arquitectura?