
Mastering Python Design Patterns, 3rd Edition
Kamon Ayeva, Sakis Kasampalis
- Editorial
- Packt
- Año
- 2024
- Páginas
- ~296
- Nivel
- Avanzado
De qué trata
Tercera edición, publicada por Packt en mayo de 2024, del libro de Sakis Kasampalis sobre patrones de diseño en Python, ahora escrito junto a Kamon Ayeva. Está dirigida a programadores de Python de nivel intermedio y avanzado que ya dominan la sintaxis, las estructuras de datos y la orientación a objetos, y quieren escribir código más mantenible y escalable. Los ejemplos están probados con Python 3.12 y usan herramientas como Mypy, Redis, Docker y LocalStack.
Sus once capítulos se organizan en tres partes. La primera repasa los principios de diseño (encapsulación, composición, interfaces, bajo acoplamiento) y los principios SOLID. La segunda recorre los patrones clásicos de la Banda de los Cuatro: creacionales (factory, builder, prototype, singleton y object pool), estructurales (adapter, decorator, bridge, facade, flyweight y proxy) y de comportamiento (chain of responsibility, command, observer, state, strategy, memento, iterator, template e interpreter). La tercera va más allá de ese catálogo: patrones arquitectónicos (MVC, microservicios, serverless con funciones lambda y event sourcing), de concurrencia y asincronía (thread pool, modelo de workers, futures y promises, programación reactiva), de rendimiento (cache-aside, memoización y carga perezosa), de sistemas distribuidos (throttling, retry y circuit breaker), de pruebas (mock objects e inyección de dependencias) y un capítulo de antipatrones habituales en Python.
Cada patrón se explica con su motivación, casos de uso reales y ejemplos de código breves en lugar de un gran proyecto integrado. Con unas 300 páginas para tanto temario, la parte de patrones distribuidos y arquitectónicos es una introducción práctica, no un tratado de diseño de microservicios: no cubre patrones como Saga o CQRS en profundidad. Es una buena referencia para elegir el patrón adecuado y reconocer cuándo una solución más simple es preferible.
- Principios SOLID
- Patrones creacionales
- Patrones estructurales
- Patrones de comportamiento
- Patrones arquitectónicos
- Concurrencia y asincronía
- Patrones de rendimiento
- Sistemas distribuidos
- Patrones de pruebas
- Antipatrones
¿Cómo enseña?
Teoría + práctica
- ✗ Sin ejercicios
- ✗ Sin proyectos

