Curso – Arquitectura Limpia: Clean Architecture
Duración
15 horas
Objetivos
Al finalizar el curso, el participante será capaz de:
- Comprender los principios fundamentales de la Arquitectura Limpia y su propósito en el desarrollo de software mantenible y escalable.
- Identificar y estructurar las capas de una aplicación siguiendo los principios de separación de responsabilidades.
- Diseñar entidades, casos de uso y adaptadores aplicando las buenas prácticas de Clean Architecture.
- Implementar soluciones independientes de frameworks y detalles de infraestructura, promoviendo la reutilización y la facilidad de pruebas.
- Entender cómo integrar Clean Architecture con tecnologías modernas (frameworks web, bases de datos, APIs, etc.) sin comprometer la estructura del dominio
Temario
- Introducción a la Arquitectura Limpia
- Concepto y principios fundamentales
- Ventajas frente a arquitecturas tradicionales
- Por qué adoptar una Arquitectura Limpia
- Entidades
- Definición y propósito
- Modelado de entidades en el dominio
- Ejemplos prácticos
- Casos de Uso (Use Cases)
- Qué son y cómo se definen
- Responsabilidades principales
- Ejemplos de casos de uso en aplicaciones reales
- Interactores (Use Case Interactors)
- Función dentro de la arquitectura
- Comunicación entre capas
- Buenas prácticas de implementación
- Interfaces de Controladores (Controller Interfaces)
- Definición y propósito
- Interacción con los casos de uso
- Ejemplo de diseño de interfaces
- Adaptadores (Adapters)
- Rol dentro de la arquitectura
- Tipos de adaptadores
- Ejemplos de uso
- Adaptadores de Controladores (Controller Adapters)
- Puente entre el mundo externo y los casos de uso
- Patrones comunes de implementación
- Adaptadores de Puertos (Port Adapters)
- Concepto de puertos y adaptadores
- Integración con bases de datos, APIs y frameworks externos
- Frameworks y Controladores (Frameworks and Drivers)
- Ubicación en la arquitectura
- Cómo aislar dependencias externas
- Ejemplos con frameworks populares
- Reglas de Negocio (Business Rules)
- Separación de la lógica de negocio del resto del sistema
- Ejemplo de diseño basado en reglas de negocio
- Capas (Layers)
- Estructura por capas en Clean Architecture
- Relaciones e independencia entre capas
- Independencia de Frameworks y Detalles de Implementación
- Principio de inversión de dependencias
- Cómo mantener el dominio libre de dependencias técnicas
- Ejemplo de refactorización para lograr independencia