📄️ ¿Qué es arquitectura de software?
La arquitectura de software es la estructura fundamental de un sistema de software, definida por sus componentes, relaciones y propiedades. Incluye tanto las decisiones estructurales como las no estructurales (rendimiento, escalabilidad, seguridad, etc.).
📄️ Estilos arquitectónicos comunes (Monolítica, SOA, Microservicios)
Arquitectura Monolítica
📄️ Principios de Clean Architecture
Clean Architecture (Arquitectura Limpia) es un estilo arquitectónico propuesto por Robert C. Martin ("Uncle Bob"), que busca separar de forma estricta la lógica de negocio (núcleo) de los detalles de implementación como frameworks, bases de datos, controladores, interfaces o UI. El objetivo es crear software independiente, mantenible, testable y adaptable, sin depender de frameworks, bases de datos o dispositivos externos.
📄️ Capas y dependencias en Clean Architecture
Clean Architecture es un enfoque de diseño de software propuesto por Robert C. Martin (Uncle Bob) que organiza el sistema en capas concéntricas. Su principal objetivo es proteger la lógica de negocio de las dependencias externas, permitiendo una alta modularidad, mantenibilidad y testabilidad.
📄️ Arquitectura modular monolítica
La Arquitectura Modular Monolítica es una forma de estructurar aplicaciones grandes dentro de un único despliegue (monolito), pero dividida internamente en módulos independientes, cada uno responsable de una parte del dominio. Es un punto intermedio entre un monolito tradicional (acoplado) y una arquitectura basada en microservicios.
📄️ Diseño de casos de uso y entidades
Una entidad representa un objeto del dominio que tiene identidad propia y que permanece consistente a lo largo del tiempo, incluso si sus atributos cambian. Ejemplo: Un estudiante con ID único, nombre y correo. Aunque cambie el correo, sigue siendo el mismo estudiante.
📄️ Ejercicios propuesto por tema
Capas y dependencias en Clean Architecture