Curso de Arquitecturas Limpias para Desarrollo de Software

Desglose de Capas en Clean Architecture

Curso de Arquitecturas Limpias para Desarrollo de Software

Contenido del curso

Desglose de Capas en Clean Architecture

Resumen

Comprender cómo se organiza un sistema de software de adentro hacia afuera es fundamental para construir aplicaciones mantenibles y escalables. Clean Architecture propone exactamente eso: cuatro capas concéntricas donde las reglas de negocio más estables ocupan el centro y los detalles técnicos quedan en la periferia. A continuación se explica cada capa y los aspectos más relevantes de esta propuesta arquitectónica.

¿Qué representan las entidades en el centro de Clean Architecture?

La capa más interna se denomina entidades [0:17]. El autor las describe como reglas de negocio que aplican a nivel empresarial (enterprise), es decir, reglas tan generales que podrían ser comunes a múltiples aplicaciones dentro de una misma organización. Cuando se diseña un único sistema, las entidades contienen las reglas más amplias y estables de esa aplicación.

¿Cómo complementan los casos de uso a las entidades?

Rodeando a las entidades se encuentra la capa de casos de uso [0:44]. Aquí residen reglas de negocio más específicas de la aplicación, pero que interactúan directamente con las entidades para orquestar la lógica del sistema. Esta separación permite que:

  • Las reglas generales permanezcan aisladas de cambios frecuentes.
  • La lógica específica se exprese con claridad en cada caso de uso.
  • Ambas capas se complementen sin acoplarse a detalles externos.

¿Qué papel cumplen los adaptadores de interfaz?

La tercera capa corresponde a los adaptadores de interfaz [1:05]. Su función es actuar como puente entre los detalles concretos del sistema y el core de la aplicación —entidades y casos de uso—. Un ejemplo típico es una aplicación MVC en un sistema web: el controlador recibe la petición, la transforma y la entrega al caso de uso correspondiente.

¿Dónde encajan los frameworks y drivers?

La capa más externa se llama frameworks y drivers [1:28]. Aquí están los detalles puntuales:

  • Base de datos.
  • Servidor web.
  • Sistema de archivos.
  • Cualquier librería o herramienta concreta.

Todo lo que ocurre en esta capa es convertido por los adaptadores de interfaz para que pueda ser procesado por los casos de uso y las entidades [1:40]. De esta forma, el núcleo del sistema nunca depende de tecnologías específicas.

¿Cuál es el origen de Clean Architecture y qué retos presenta?

Fue propuesta por Robert Martin en 2012 [2:02] a través de un artículo que posteriormente se convirtió en el libro Clean Architecture. Este libro está disponible en inglés y en español y resulta una lectura valiosa para profundizar en fundamentos de arquitectura de software.

Un aspecto importante es que Clean Architecture intenta generalizar ideas presentes en la arquitectura hexagonal, la arquitectura cebolla y otras propuestas [2:30]. Sin embargo, el mayor reto que se le señala es la existencia de vacíos en la implementación [2:42]. El libro no profundiza en varios detalles prácticos, lo que ha llevado a distintos ingenieros y arquitectos a intentar llenar esos huecos con sus propias interpretaciones. Esto dificulta encontrar una explicación unificada cuando se buscan respuestas sobre aspectos que la fuente original no cubre [2:55].

Esta realidad no invalida la propuesta, pero sí exige pensamiento crítico al implementarla. Conocer las cuatro capas —entidades, casos de uso, adaptadores de interfaz, frameworks y drivers— ofrece un marco sólido para razonar sobre la separación de responsabilidades en cualquier proyecto. Si has trabajado con alguna variante de estas arquitecturas, comparte tu experiencia y cómo resolviste esos vacíos de implementación.