# 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 | ## Referencias - [Clean Architecture - Robert C. Martin](https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html)