¿Qué es un patrón de diseño?

Antes de entrar en materia hablándote de la definición de patrón de diseño, debemos saber qué es un patrón:

Un patrón es un tipo de tema de sucesos u objetos recurrentes, como por ejemplo grecas, a veces referidos como ornamentos de un conjunto de objetos.

Dicho en otras palabras: es una forma recurrente de hacer las cosas, para obtener buenos resultados. Para que te de quede más claro, para fabricar una camiseta de talla M se usan formas predefinidas como las de la siguiente imagen.

¿Quedó claro?

Te lo digo en otras palabras: un patrón describe un problema que ocurre una y otra vez en nuestro entorno, así como la solución a ese problema, de tal modo que se pueda aplicar dicha solución N veces, sin repetir lo mismo dos veces. ¿Mejor?

Si no queda muy claro puedes ver Patrones de Diseño, ¿los conoces?

Elementos de un patrón de diseño

Un patrón tiene 4 elementos esenciales:

  1. El nombre del patrón
  2. El problema que describe cuándo aplicarlo
  3. La solución que describe los elementos que constituyen el diseño
  4. Las consecuencias o resultados que representan las ventajas e inconvenientes

Un patrón de diseño en programación es una descripción de clases y objetos relacionados que están particularizados para resolver un problema de diseño general en un determinado contexto.

¿Cómo surgen los patrones de diseño?

Surgen en 1987 a partir de los patrones de diseño arquitectónicos. Primero se describen 5 patrones publicados en un artículo por Ward Cunningham y Kent Beck bajo el título: Using Pattern Languages for OO Programs.

Para los 90’s el grupo Gang of Four (GoF) compuesto por Erich Gamma, Richard Helm, Ralph Johnson y John Vlisides escribe el libro Design Patterns, donde hablan ya de 23 patrones de diseño.

Clasificación de los patrones de diseño

Actualmente se reconocen 25 patrones de diseño y se clasifican en 3 tipos:

  1. Creacionales. Son patrones de diseño relacionados con la creación o construcción de objetos. Estos patrones intentan controlar la forma en que los objetos son creados
    implementando mecanismos que eviten la creación directa de objetos.
  2. Estructurales. Son patrones que tiene que ver con la forma en que las clases se relacionan con otras clases. Estos patrones ayudan a dar un mayor orden a nuestras clases ayudando a crear componentes más flexibles y extensibles.
  3. De comportamiento. Son patrones que están relacionados con procedimientos y con la
    asignación de responsabilidad a los objetos. Los patrones de comportamiento engloban también patrones de comunicación entre ellos.

No voy a hablar particularmente de ninguno en esta entrada pero si necesitas información sobre los patrones te recomiendo el blog de Oscar Blancarte: Patrones de Diseño es muy bueno y puedes ampliar comprando su libro, yo ya lo compré y te estaré contando al respecto más adelante.

¡Nos leemos en la próxima!

 

Deja un comentario

A %d blogueros les gusta esto: