</> CodeBooks
    ← Volver a Arquitectura de software (página 7)
    Portada de Head First Software Architecture

    Head First Software Architecture

    Raju Gandhi, Mark Richards, Neal Ford

    Editorial
    O'Reilly
    Año
    2024
    Páginas
    ~486
    Nivel
    Básico

    De qué trata

    Introducción amigable y visualmente dinámica que traslada los conceptos fundamentales de la arquitectura de software a la metodología pedagógica multisensorial de la serie Head First, de la mano de Raju Gandhi junto a Mark Richards y Neal Ford. Está pensada para desarrolladores júnior e intermedios que desean adquirir una mentalidad arquitectónica y comprender cómo el código que escriben repercute en el comportamiento global de un sistema. No requiere experiencia previa en diseño de sistemas ni en puestos de liderazgo técnico, bastando con entender conceptos básicos de programación orientada a objetos.

    El libro establece con claridad los límites entre el diseño de software y la arquitectura, profundizando en cómo definir y priorizar características clave como mantenibilidad, escalabilidad, modularidad y tolerancia a fallos. Descompone los sistemas en componentes lógicos examinando la cohesión, el acoplamiento y la ley de Deméter, y explora en detalle cuatro estilos arquitectónicos esenciales: arquitectura en capas (layered), microkernel (arquitectura basada en complementos o plug-ins), microservicios y arquitectura orientada a eventos (event-driven). Los conceptos se refuerzan con metáforas visuales, mapas de componentes, cuestionarios conceptuales y la redacción estructurada de Architectural Decision Records (ADRs).

    A lo largo de sus capítulos se resuelven crucigramas técnicos, escenarios de rol titulados «Sé el arquitecto» (BE the Architect) y el caso de estudio evolutivo de «Adventurous Auctions» (una plataforma digital de subastas para viajes y aventuras), donde se analizan trade-offs y decisiones de diseño sin abrumar al lector. Su principal valor es desmitificar la disciplina y enseñar a pensar en compensaciones antes de elegir una estructura de software. Al centrarse enteramente en el modelado conceptual, no contiene proyectos con código fuente ejecutable ni despliegues en la nube, sirviendo como una antesala ideal antes de abordar manuales más densos.

    • Pensamiento arquitectónico
    • Características del sistema
    • Componentes lógicos
    • Arquitectura en capas
    • Microkernel
    • Microservicios
    • Arquitectura orientada a eventos
    • Análisis de trade-offs
    • Architectural Decision Records (ADR)
    • Acoplamiento y cohesión

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✓ Incluye ejercicios
    • ✗ Sin proyectos

    Más de Arquitectura de software con nivel Básico