academia/docs/architecture/decisions/ADR-001-clean-architecture.md

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

Referencias