</> CodeBooks
    ← Volver a Arquitectura de software (página 9)
    Portada de Sumergete en los patrones de diseño

    Sumergete en los patrones de diseño

    Alexander Shvets

    Editorial
    Refactoring Guru
    Año
    2021
    Páginas
    ~439
    Nivel
    Básico

    De qué trata

    Obra de referencia creada por Alexander Shvets, autor de la conocida plataforma Refactoring.Guru, concebida para desmitificar los patrones de diseño de software orientados a objetos y modernizar el catálogo clásico del Gang of Four (GoF). Aunque no se ata a una versión rígida de un único lenguaje, expone sus soluciones mediante pseudocódigo universal acompañado de implementaciones y ejemplos adaptables a lenguajes contemporáneos como C#, Java, Python, TypeScript, PHP y C++. Está orientada a programadores de nivel básico a intermedio que ya dominan los fundamentos de la programación orientada a objetos (POO), pero buscan dar el salto hacia la estructuración de sistemas desacoplados, modulares y fáciles de mantener.

    El libro inicia repasando los pilares de la orientación a objetos (abstracción, encapsulamiento, herencia y polimorfismo) y las directrices maestras del buen diseño de software, tales como encapsular lo que cambia, programar hacia interfaces en lugar de implementaciones, preferir la composición frente a la herencia y adherirse rigurosamente a los principios SOLID. A continuación, disecciona en detalle los 22 patrones clásicos divididos en tres familias: Creacionales (Factory Method, Abstract Factory, Builder, Prototype, Singleton), Estructurales (Adapter, Bridge, Composite, Decorator, Facade, Flyweight, Proxy) y de Comportamiento (Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor). Cada patrón se describe mediante diagramas UML claros, analogías de la vida real, problemas habituales, pasos guiados de implementación y un balance crítico de ventajas y desventajas.

    La obra no construye un único proyecto de principio a fin, sino que recurre a casos de uso ilustrativos por patrón (como sistemas de transporte logístico, componentes de interfaz gráfica multiplataforma, editores de texto con historial de comandos deshechos y navegadores con cálculo de rutas). Su gran fortaleza reside en su enorme claridad pedagógica y su apoyo visual, convirtiendo conceptos abstractos en recetas comprensibles y aplicables. Conviene saber de antemano que se enfoca estrictamente en patrones de diseño en memoria a nivel de clases y objetos, sin abarcar patrones arquitectónicos de sistemas distribuidos como microservicios o CQRS. Resulta una base formativa imprescindible antes de abordar arquitecturas limpias o desarrollo empresarial.

    • Patrones de diseño
    • Programación orientada a objetos
    • Principios SOLID
    • Patrones creacionales
    • Patrones estructurales
    • Patrones de comportamiento
    • Diagramas UML
    • Refactorización
    • Arquitectura de software

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

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