Cómo descomponer aplicaciones complejas en niveles de abstracción (UI, lógica de negocio, acceso a datos) para que el código siga siendo claro y extensible. En la práctica construimos un mini gestor de tareas con las capas
Task,
TaskRepository,
TaskService, mostramos sustituciones de implementaciones y ventajas para el equipo. Veremos las mejores prácticas, errores típicos y un ejemplo con los servicios
OrderService/
OrderRepository, así como métodos como
saveOrder() y
findUserById().