Patrones de Arquitectura
Este artículo es una explicación conceptual sobre patrones de arquitectura, incluyendo preguntas de examen, ejemplos y etiquetas.
En Pocas Palabras
Los patrones de arquitectura son estructuras de solución reutilizables a nivel de sistema. Describen el contexto, las fuerzas en juego, la solución y las consecuencias, con énfasis en objetivos de calidad como mantenibilidad, escalabilidad, seguridad y testabilidad.
Descripción Técnica Compacta
Un patrón de arquitectura define la estructura general del sistema (por ejemplo, capas, puertos y adaptadores, microservicios, flujos de eventos) e influye en los atributos de calidad.
Trade-offs importantes:
- Consistencia vs. disponibilidad
- cadenas RPC síncronas vs. mensajería asíncrona
- base de datos centralizada vs. datos por servicio
Los sistemas modernos combinan patrones (por ejemplo, cortes de DDD más hexagonal por servicio). Relevante para el examen son la definición, las consecuencias, los escenarios de uso y los riesgos (por ejemplo, Distributed Monolith).
Puntos Clave para el Examen
- Diferencias y consecuencias de monolito/microservicios
- Arquitectura de capas más Inversión de Dependencias
- Puertos y Adaptadores (hexagonal)
- IHK: Nombrar objetivos de calidad más métricas (MTTR, latencia)
- Seguridad: Zero Trust, Secretos, Auth entre servicios
- Rentabilidad: costos operacionales y de licencia, cortes de equipo
- Documentación: C4 (L1–L3) más ADRs
Componentes Fundamentales
- Contexto/Supuestos
- Problema más fuerzas
- Estructura/Bloques
- Estilo de comunicación (síncrono/asíncrono)
- Estrategia de datos
- Interfaces/Protocolos
- Build/Test/Deploy/Observability
- Elementos de arquitectura (capas, adaptadores)
- Seguridad (AuthN/AuthZ, aislamiento)
- Tests (Contract/Chaos)
Ejemplo Práctico (hexagonal, muy simplificado)
Domain: Order.confirm() genera Domain Event
Application Service orquesta Use Case
Ports definen Contracts (Repo, Bus)
Adapter acoplan REST, SQL, Kafka
Ventajas y Desventajas
Ventajas
- Mejor capacidad de cambio
- Testabilidad
- Atributos de calidad dirigidos
Desventajas
- Mayor complejidad
- Infraestructura/Observability necesarias
- Riesgo de Distributed Monolith
Preguntas Típicas de Examen (con Respuesta Corta)
- ¿Cuándo es útil la arquitectura de capas? Cuando hay responsabilidades claras; las dependencias apuntan hacia adentro.
- Microservicios vs Monolito: ¿Diferencia clave? Deployment/almacenamiento de datos/transacciones.
- ¿Qué logra la arquitectura hexagonal? Separa la lógica central de las entradas/salidas a través de puertos y adaptadores.
Respuesta Abierta
Aprende los patrones a través de problema, fuerzas, solución y consecuencias. Documenta las decisiones de arquitectura como ADRs y visualiza con C4.
Estrategia de Aprendizaje
- Esboza C4 para un sistema.
- Por cada caso de uso marca caminos síncronos/asíncronos.
- Practica definiciones cortas más trade-offs.
- Nombra riesgos y contramedidas.



