Patrones de Arquitectura y Diseño
Recursos de capacitación sobre principios SOLID, patrones de diseño GoF y arquitecturas modernas para desarrollo de software.
🎯 Principios de Diseño
Fundamentos esenciales para escribir código mantenible y escalable.
- SOLID - Los 5 principios fundamentales del diseño orientado a objetos
- Otros Principios - DRY, KISS, YAGNI, SoC, Composition over Inheritance, etc.
🎨 Patrones de Diseño GoF
Soluciones probadas a problemas comunes en el diseño de software.
🏗️ Creacionales (5 patrones)
- Singleton - Garantiza una única instancia
- Factory Method - Crea objetos sin especificar clases exactas
- Abstract Factory - Crea familias de objetos relacionados
- Builder - Construye objetos complejos paso a paso
- Prototype - Crea objetos clonando instancias existentes
🔧 Estructurales (7 patrones)
- Adapter - Permite que interfaces incompatibles trabajen juntas
- Bridge - Separa abstracción de implementación
- Composite - Compone objetos en estructuras de árbol
- Decorator - Añade funcionalidad dinámicamente
- Facade - Proporciona interfaz simplificada
- Flyweight - Minimiza uso de memoria compartiendo datos
- Proxy - Proporciona sustituto o marcador de posición
⚡ Comportamiento (11 patrones)
- Observer - Define dependencia uno-a-muchos
- Strategy - Encapsula algoritmos intercambiables
- Command - Encapsula solicitudes como objetos
- State - Permite cambiar comportamiento según estado
- Template Method - Define esqueleto de algoritmo
- Chain of Responsibility - Pasa solicitudes por cadena de manejadores
- Mediator - Define comunicación entre objetos
- Memento - Captura y restaura estado interno
- Iterator - Accede secuencialmente a elementos
- Visitor - Define operaciones sobre estructura de objetos
- Interpreter - Define gramática e intérprete
🏗️ Patrones de Arquitectura
Patrones y estilos arquitectónicos para sistemas escalables y mantenibles.
- Clean Architecture - Arquitectura limpia por capas con dependencias hacia el dominio
- DDD - Domain Driven Design - Diseño dirigido por el dominio de negocio
- CQRS - Separación de comandos y consultas
- Event-Driven Architecture - Comunicación asíncrona basada en eventos
- Microservicios - Servicios independientes y distribuidos
- MVC/MVP/MVVM - Patrones de separación de presentación
- Flux/Redux - Gestión de estado unidireccional
- Backend for Frontend (BFF) - APIs especializadas por tipo de cliente
Micrositio de capacitación - Arquitectura de Software 🏗️