15 años de Design Patterns de GoF
A principios del 2010 se cumplirán 15 años de la publicación de la primera edición de “Design Patterns: Elements of Reusable Object-Oriented Software”, uno de los libros que más ha influido en la ingeniería del software de los últimos años.
En 1994 la “banda de los cuatro” (Gang of Four), o lo que es lo mismo: Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides, escribió un libro en el que sentaron las bases del diseño basado en patrones en la programación orientada a objetos. Básicamente es un libro de recetas en el que presentan soluciones en problemas comunes en el proceso de diseño orientado a objetos de una aplicación.

InformIT ha publicado una entrevista a los autores que no tiene desperdicio. En ella los autores hablan acerca de cómo ven el diseño de software en la actualidad y de cuan vigente sigue todavía su libro.
Alguna de las perlas de la entrevista tiene que ver incluso con el SDK de programación de iPhone, el mismo que se utiliza para programar en Mac OSX y basado en NeXTSTEP, de NeXT que cosas y que tiempos…
Este libro salió a la luz cuando todavía no existía Java, y de hecho el lenguaje recoge muchos de los patrones. Después se escribieron bastantes más libros relacionados con los patrones y han aparecido títulos más digeribles.
Me quedo con el primer párrafo del libro, toda una declaración de intenciones:
El diseño de software orientado a objetos es duro, y diseñar software orientado a objetos reutilizable es todavía más duro. Es necesario encontrar los objetos adecuados, convertirlos en clases con la granularidad correcta, definir interfaces de clases y jerarquías de herencia, y establecer las relaciones clave entre ellas. El diseño debe ser adecuado al problema pero al mismo tiempo lo suficientemente genérico para permitir resolver problemas y requerimientos futuros. Al mismo tiempo buscaremos evitar el rediseño futuro, o al menos minimizarlo.
Este libro ha influido en nuestros proyectos, tanto los escritos en Java como los escritos en PHP. Con Java no tuvimos problemas, era la manera natural de diseñar porque el lenguaje se adaptaba a la perfección.
Pero hace 8 años era una rareza escribir un portal web en PHP basándonos en patrones. Hoy, la mayoría de los frameworks más conocidos (cakephp, symphony, etc.) están basados en patrones… y escritos en PHP. Eso sí, PHP tuvo que hacerse orientado a objetos.
Pues eso, quedan un par de meses para el aniversario, aunque el libro a estas alturas, y hace 15 años, ya estaba escrito.
