Contenido del curso
Conceptos detrás de las Arquitecturas Limpias
Arquitecturas de referencia
Dominio de una arquitectura
- 11

Errores que rompen el encapsulamiento del dominio
08:36 min - 12

Transaction Script: cuándo usarlo y sus límites
08:25 min - 13

Inyección de Dependencias e Inversión de Control en Java
07:40 min - 14

Qué es el modelo de dominio en POO
06:43 min - 15

Capa de Servicios y Fachada en la Arquitectura de Software
04:19 min - 16

Casos de uso en Clean Architecture con C#
07:08 min - 17

CQRS: separar comandos e consultas em C#
11:59 min
Capa externa
- 18

Acceso a datos en arquitectura limpia
06:03 min - 19

Patrón Repository para separar datos del dominio
08:17 min - 20

REST APIs en arquitectura limpia con Spring Boot
05:27 min - 21

Implementación de Integraciones con el Patrón Adapter en Arquitectura Limpia
09:06 min - 22

Pruebas Unitarias en Arquitecturas Limpias con Java y Spring Boot
05:38 min - 23

Mocks y stubs en pruebas de integración
09:26 min
Cierre
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.