Lenguaje de patrón

En diseño, un lenguaje de patrón es un método estructurado para describir una serie de buenas prácticas de diseño en un área particular. Se caracteriza por:

  1. Descubrir y nombrar los problemas más comunes en el campo de interés.
  2. Describir las características principales de las soluciones efectivas para llegar al objetivo marcado.
  3. Ayudar al diseñador a moverse de un problema a otro de una forma lógica.
  4. Permitir diferentes caminos en un mismo proceso de diseño.

Los lenguajes de patrón se utilizan para formalizar los valores de decisiones cuya efectividad resulta obvia a través de la experiencia, pero que es difícil de documentar y pasar a los aprendices. También son herramientas útiles a la hora de estructurar el conocimiento y comprender sistemas complejos sin caer en la simplificación extrema. Estos procesos incluyen la organización de personas o grupos que tienen que tomar decisiones complejas, y revelan cómo interactúan las diferentes funciones como parte del total.

Origen

Christopher Alexander acuño el término lenguaje de patrón. Lo usó para referirse a los problemas normales del diseño arquitectónico y civil. Su uso iba desde la forma de estructurar una ciudad a como debían disponerse las ventanas en una habitación. La idea se popularizó gracias a su libro A Pattern Language.

El libro de Alexander The Timeless Way of Building describe qué significa para él lenguaje de patrón y cómo se aplica al diseño de edificios y ciudades. Sin embargo, este sistema es aplicable a cualquier otro campo del diseño.

Alexander da la siguiente definición de patrón: "Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, para describir después el núcleo de la solución a ese problema, de tal manera que esa solución pueda ser usada más de un millón de veces sin hacerlo ni siquiera dos veces de la misma forma."

Según Richard Gabriel: "Cada patrón es una regla de tres partes, la cual expresa una relación entre un cierto contexto, un conjunto de fuerzas que ocurren repetidamente en ese contexto y una cierta configuración software que permite a estas fuerzas resolverse por si mismas."

Other Languages
አማርኛ: የቅጥ ቋንቋ
Deutsch: Mustersprache
한국어: 패턴 언어
srpskohrvatski / српскохрватски: Jezik uzora
Simple English: Pattern language
српски / srpski: Jezik uzorka