Lenguaje de Patrones


Lenguajes de Patrones

no reinventes la rueda

 

por Juan C. Dürsteler

 

Los lenguajes de patrones prometen evitarnos reinventar la rueda a la par que dan soluciones excelentes a problemas comunes.  

Hay ya colecciones de ellos.

A nuestros efectos podríamos definir un patrón como un esquema recurrente que adopta una forma determinada y que se destaca claramente de su contexto


Hablamos de patrones de comportamiento, buscamos patrones en el reconocimiento de imágenes, nuestro sentido visual es muy eficiente encontrando patrones. Probablemente el reconocimiento de patrones ha sido la fuente de aprendizaje y supervivencia de la especie humana (siempre resulta útil distinguir el dibujo de la piel de una serpiente venenosa de la que no lo es).

 

Por otro lado, la base de cualquier ciencia o tecnología es un conjunto de términos que permite la expresión de sus conceptos básicos y un lenguaje que permite la combinación y relación de unos términos con otros.


Así, en física los conceptos fundamentales de tiempo, espacio y masa, entre otros, junto con la aplicación de ciertas estructuras matemáticas nos permiten derivar leyes y conceptos secundarios, como la velocidad y la aceleración, de una enorme potencia.

 

Sobre la base de estos conceptos Christopher Alexander, profesor de arquitectura de la Universidad de California en Berkeley, construyó durante la segunda mitad de la década de los 70 una nueva filosofía de diseño arquitectónico basada en los lenguajes de patrones (pattern languages)

Sus hallazgos se resumen en una muy interesante trilogía de libros denominada "The Timeless Way", en la que destaca el libro "A pattern language" .

 >  >  >  >






En este contexto un patrón sería, parafraseando a Brad Appleton* en su excelente introducción al tema "una pieza de información que porta la esencia de una solución probada a un problema recurrente en un cierto contexto" . 


Un patrón es, pues, una solución útil, usable y usada, es decir reutilizable de forma eficiente


Los patrones y los correspondientes lenguajes de patrones son, pues formas de describir métodos excelentes, buenos diseños y soluciones inmejorables que se pueden reutilizar. Para ver cual es la anatomía de un lenguaje de patrones es muy recomendable visitar la web de Design Matrix.

 

Aunque Christopher Alexander ha dedicado sus esfuerzos a crear un lenguaje de patrones en la arquitectura, sus hallazgos han transcendido esta disciplina y se han infiltrado muy seriamente en distintos campos, entre los que destaca fuertemente la Ingeniería de Software y el Diseño de Información (sospechosamente denominado también Arquitectura de Información).

 

Yendo a lo práctico y para tener un ejemplo claro de lo que son, es muy conveniente ver las colecciones de patrones y lenguajes que se están empezando a recopilar. Entre ellas destacan

En definitiva una forma eficiente para no perder el tiempo reinventando la rueda y aprovechar la energía creativa en innovar en aquello que todavía no está resuelto.
































Christopher Alexander