
Software Architecture Patterns, 2nd Edition
Mark Richards
- Editorial
- O'Reilly
- Año
- 2022
- Páginas
- ~73
- Nivel
- Intermedio
De qué trata
Informe técnico y guía de referencia concisa en la que Mark Richards analiza y clasifica los cinco estilos arquitectónicos fundamentales de la ingeniería de software moderna, actualizando su clásica publicación de 2015 con las tendencias consolidadas hacia 2022. Es una obra conceptual e independiente de lenguajes de programación, dirigida a desarrolladores en transición a roles de liderazgo técnico, diseñadores de sistemas y arquitectos noveles que ya comprenden los principios elementales de la programación orientada a objetos o modular y buscan un marco sistemático para estructurar sus aplicaciones y evitar el caos arquitectónico.
El manual disecciona los componentes, mecánicas y principios rectores de cinco patrones troncales: arquitectura por capas (Layered Architecture, examinando capas abiertas y cerradas y el antipatrón sinkhole); arquitectura de microkernel o plugins (separación entre el core system y módulos extensibles mediante contratos y registros); arquitectura dirigida por eventos (Event-Driven Architecture, profundizando en las topologías Broker y Mediator); arquitectura de microservicios (despliegue independiente, bounded contexts y desacoplamiento de datos); y arquitectura basada en el espacio (Space-Based Architecture, orientada a resolver cuellos de botella de bases de datos mediante middleware virtualizado y procesamiento distribuido en memoria). Asimismo, introduce tablas de valoración comparativa (scorecards) para medir el impacto de cada estilo sobre atributos como escalabilidad, rendimiento, tolerancia a fallos y agilidad.
Dada su extensión de 73 páginas, el texto no contiene ejercicios prácticos ni proyectos guiados de codificación; funciona como una brújula de consulta y evaluación arquitectónica. Su mérito indiscutible es la síntesis precisa de las ventajas y desventajas (trade-offs) de cada patrón, orientando al profesional sobre cuándo conviene seleccionar una alternativa y cuándo resultaría contraproducente. Quedan fuera aspectos de codificación, integración con librerías específicas o aprovisionamiento de infraestructura en la nube. Conviene tener cierta familiaridad con el ciclo de vida del software para interpretar cabalmente el análisis de compensaciones entre rendimiento, simplicidad y escalabilidad.
- Patrones de arquitectura
- Layered Architecture
- Microkernel
- Event-Driven Architecture
- Microservicios
- Space-Based Architecture
- Topología Broker y Mediator
- Atributos de calidad
- Trade-offs arquitectónicos
¿Cómo enseña?
Teórico
- ✗ Sin ejercicios
- ✗ Sin proyectos

