-
Notifications
You must be signed in to change notification settings - Fork 0
Service Layer
Joel Alvarez edited this page Jul 12, 2026
·
1 revision
Service Layer concentra los casos de uso de aplicación en servicios explícitos. En lugar de dejar que controladores, jobs o comandos de consola coordinen validaciones, repositorios, políticas y gateways, el servicio se convierte en el punto de entrada del flujo.
- Evita controladores cargados de lógica de negocio.
- Reduce duplicación entre HTTP, CLI, workers y tareas programadas.
- Da nombres claros a casos de uso como registrar usuario, confirmar checkout o construir reportes.
- Facilita pruebas enfocadas sobre la orquestación de aplicación.
- Comando o consulta de entrada.
- Servicio de aplicación.
- Repositorios y gateways.
- Políticas de aplicación.
- Respuesta o DTO de salida.
- Registro de usuario.
- Checkout coordinado.
- Reportes complejos.
- Documentación local:
patterns/architecture/service_layer/README.md - Módulo Rust:
src/patterns/architecture/service_layer.rs - Ejemplo de registro:
src/patterns/architecture/service_layer/user_registration.rs - Ejemplo de checkout:
src/patterns/architecture/service_layer/checkout_service.rs - Ejemplo de reportes:
src/patterns/architecture/service_layer/reporting_service.rs