| 
  • If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old.

  • You already know Dokkio is an AI-powered assistant to organize & manage your digital files & messages. Very soon, Dokkio will support Outlook as well as One Drive. Check it out today!

View
 

LenguajesDePatrones

Page history last edited by Stella 15 years, 4 months ago

 

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

  • "The Web Design Collection, colección de patrones para el diseño de sitios Web. Muy recomendable.
  • "The Amsterdam Collection of Patterns in User Interface design"  dedicada a patrones de software para diseño de interfases de usuario. Junto con la anterior, son obra de Martijn van Welie**. 
  • En Ecología encontramos EcoPatterns con patrones para conservación de aguas y gestión de residuos.
  • En Ingeniería de Software el muy recomendable Portland Pattern Repository.
  •  

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.

 


 

 

 

*) Una sede web recomendable para introducirse en el tema es la de Brad Appleton.

**) Debo el enlace a Peter Boersma.

En Español véase el sumario sobre patrones de Pablo Figueroa 

Enlaces de este artículo:

http://public.logica.com/~stepneys/bib/nf/alexandr.htm    
http://www.amazon.com/exec/obidos/ASIN/0195019199/infovisnet    
http://www.enteract.com/~bradapp/docs/patterns-intro.html    
http://www.designmatrix.com/pl/anatomy.html    
http://www.hillside.net/patterns/patterns.html    
http://www.satama.nl/~weliem    
http://www.cs.vu.nl/~martijn/patterns/index.html    
http://www.designmatrix.com/pl/ecopl/index.html    
http://c2.com/ppr/titles.html    
http://agamenon.uniandes.edu.co/~pfiguero/soo/Magister_Patrones/intropatrones.html  

Comments (0)

You don't have permission to comment on this page.