1.1 KiB
1.1 KiB
ADR-001: Clean Architecture
Estado: Aceptado Fecha: 2026-01-07
Contexto
Necesitamos una arquitectura que permita:
- Testabilidad de reglas de negocio
- Independencia de frameworks
- Mantenibilidad a largo plazo
- Separación clara de responsabilidades
Decisión
Adoptar Clean Architecture con 4 capas: Domain, Application, Adapters, Host.
Host → Adapters → Application → Domain
Consecuencias
Positivas
- Domain sin dependencias externas (puro C#)
- Reglas de negocio testeables sin mocks de infraestructura
- Fácil cambiar ORM o base de datos
- Fácil cambiar de REST a GraphQL (o viceversa)
Negativas
- Mayor cantidad de archivos/proyectos
- Curva de aprendizaje inicial
- Overhead para proyectos muy pequeños
Alternativas Consideradas
| Alternativa | Razón de Descarte |
|---|---|
| N-Layer tradicional | Alto acoplamiento, difícil testear |
| Vertical Slices | Menor separación de concerns |
| Monolítico simple | No escala con complejidad |