Patrones de diseño

Los patrones de diseño son un concepto que empezó a manejar el arquitecto britano-americano Christopher Alexander en 1966. Mucho más tarde, en 1994, con la publicación de Design Patterns: Elements of Reusable Object-Oriented Software, dicho concepto comenzó a ganar popularidad en el mundo del desarrollo de software. Este libro fué escrito por cuatro autores que posteriormente serían conocidos como la pandilla de los cuatro (Gang of Four): Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides. Los patrones de diseño aportan soluciones generales y reutilizables para problemas comunes. No se trata de porciones de código, sino de algo más genérico: La descripción de un problema y de una solución, que ha sido probada, a ese problema. Comprender un patrón, identificar cuando es útil, aplicarlo y adaptarlo a un caso concreto es tarea de aquel que lo estudia. El uso adecuado de estos patrones, por tanto, puede acelerar el proceso de diseño y desarrollo de software, pues al aportar paradigmas que han sido probados como eficaces evitan invertir tiempo en buscar una solución partiendo desde cero.

Originalmente, los patrones de diseño fueron categorizados en 3 grupos:

  1. Patrones creacionales: Tratan la creación de objetos de un modo controlado basandose en unos criterios requeridos.
  2. Patrones estructurales: Tratan la organización de distintas entidades software para crear estructuras mayores, extensibles y desacopladas entre sí.
  3. Patrones de comportamiento: Tratan la asignación de responsabilidades entre distintas entidades software y como éstas se comunican entre sí.

Hay que mencionar también que existen patrones de diseño para dominios específicos, como pueden ser la visualización de información,la seguridad, el diseño web… El grupo Hillside viene realizando, desde hace años, unas conferencias anuales sobre los patrones de diseño de software, dónde se contemplan estos patrones específicos para un dominio.