Técnicas de diseño orientado a objetos. Patrones de diseño
395 páginas
Spanish
PDF
4.5

Técnicas de diseño orientado a objetos. Patrones de diseño

Técnicas de diseño orientado a objetos. Patrones de diseño

Autor:

Año:

Resumen:

Introducción

El libro «Design Patterns: Elements of Reusable Object-Oriented Software» (en español — «Técnicas de diseño orientado a objetos. Patrones de diseño»), escrito por el legendario «Club de los Cuatro» (Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides), se publicó en 1994 y se convirtió instantáneamente en la biblia para desarrolladores de todo el mundo. A pesar de que todos los ejemplos del libro están escritos en C++, sus ideas son universales y encuentran aplicación directa en Python, Java, C# y otros lenguajes. Para el sitio educativo pythonlib.ru, esta reseña ayudará a entender si vale la pena dedicar tiempo a este clásico y cómo sacarle el máximo provecho para el desarrollo moderno en Python.

De qué trata este libro

El libro sistematiza 23 patrones de diseño clásicos, divididos en tres grupos: de creación (creación de objetos), estructurales (composición de clases y objetos) y de comportamiento (interacción entre objetos). Cada patrón se describe siguiendo una plantilla uniforme: nombre, motivación, aplicabilidad, estructura, participantes, interacciones, consecuencias, ejemplo de código en C++ y aplicaciones conocidas. Los autores no solo enumeran soluciones, sino que explican por qué funciona una solución determinada, qué compromisos conlleva y en qué situaciones debe (o no debe) aplicarse.

Para quién es este libro

El libro está dirigido a programadores de nivel intermedio y avanzado que ya tienen experiencia en programación orientada a objetos y desean llevar la calidad de su código al siguiente nivel. Para los principiantes será difícil: se presupone el conocimiento de POO, UML (aunque los diagramas del libro son simples) y principios básicos de diseño. Sin embargo, si ya escribe en Python y siente que su código se vuelve confuso y que los cambios requieren reescribir la mitad del proyecto, este libro será su salvavidas.

Qué aprenderá el lector

  • Un lenguaje común para discutir arquitectura — podrá decir «aquí se necesita un Estratega» en lugar de explicarlo durante media hora.
  • Cómo evitar errores típicos — los patrones previenen contra la complejidad excesiva y la duplicación de código.
  • Flexibilidad y extensibilidad — aprenderá a diseñar sistemas que se adapten fácilmente a nuevos requisitos.
  • Reutilización — comprenderá cómo identificar soluciones comunes y aplicarlas en diferentes contextos.
  • Compromisos de diseño — cada patrón tiene un costo (complejidad, rendimiento) y el libro enseña a sopesar estos factores.

Puntos fuertes del libro

Primero y principal — fundamentalidad. Los patrones GoF no están ligados a un lenguaje o framework específico, describen principios que funcionan durante décadas. Segundo — estructuración: un catálogo de patrones con un formato de descripción uniforme permite encontrar rápidamente la solución deseada. Tercero — ejemplos de la vida real: los autores muestran cómo se aplican los patrones en editores gráficos, compiladores, sistemas de ventanas. Incluso si escribe aplicaciones web con Django o FastAPI, reconocerá en estos ejemplos problemas familiares.

Vale la pena destacar que el libro no impone patrones. Los autores enfatizan constantemente: «No use un patrón solo por el patrón». Esta advertencia es especialmente relevante para los principiantes que intentan encajar cada línea de código en algún patrón.

A quién se recomienda

El libro es de lectura obligada para todos aquellos que quieran pasar de escribir «código que funciona» a crear sistemas bien diseñados. Será especialmente útil para: