fbpx
Wikipedia

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ñó 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 sí mismas."

Muchos patrones forman un lenguaje

Así como las palabras deben tener una relación gramática y semántica entre ellas para crear un lenguaje oral útil, los patrones de diseño deben estar relacionados los unos con los otros para poder formar un lenguaje de patrones. En el trabajo de Alexander está implícita la idea de que los patrones deben estar organizados en estructuras lógicas o estructuras intuitivas. La estructura (jerárquica, iterativa, etc) puede variar, dependiendo del tema. Cada patrón debe indicar su relación con otros patrones y con el lenguaje en sí.

Uso

Alexander animó a la gente que usaba su sistema a expandirlo con patrones que los usuarios creasen. Para hacer esto posible, sus libros no se centran de forma estricta en arquitectura o en ingeniería civil. En los libros también habla del método general de los lenguajes de patrón. De esta forma, sus métodos se han usado para documentar el conocimiento experimental en diversos campos, como los patrones informáticos que se usan en ingeniería de software, patrones de diseño de interacción en Interacción del hombre con la computadora y patrones pedagógicos en educación. Sin embargo, las especificaciones de Alexander sobre como usar un lenguaje de patrón así como cómo crear uno nuevo siguen ejerciendo su autoridad, y sus libros son la referencia para expertos en campos muy diversos.

Es importante señalar que notaciones como UML o la colección de símbolos de los diagramas de flujo no son lenguajes de patrón (aunque podrían utilizarse para expresar un lenguaje de patrón). Una receta o cualquier otro conjunto de secuencias a seguir, con sólo un posible camino desde el inicio hasta el final, tampoco es un lenguaje de patrón. Sin embargo, el proceso de diseño de una nueva receta puede beneficiarse del uso de los lenguajes de patrón.

Cómo documentar un patrón

Siguiendo las enseñanzas de Alexander, un patrón individual debe describirse en 3 partes:

  1. "Contexto" - ¿Bajo qué condiciones resolverá esta solución el problema?
  2. "Sistema de fuerzas" - Se puede considerar como el problema o el objetivo
  3. "Solución" - Una configuración que pone las fuerzas en equilibrio o resuelve el problema presentado

Contexto -> Sistema de fuerzas -> Solución

Así, una entrada en un lenguaje de patrón debería tener un nombre sencillo, una descripción concisa del problema, una solución clara, y suficiente información para ayudar al lector a entender cuando aplicar esta solución. También debería mostrar que patrones deben tenerse en consideración de ante mano, y que patrones se deberían considerar más adelante.

Ejemplo sencillo de un patrón

Nombre: GalletaChocolateRelación

Contexto: Cocinando galletas de chocolate para tu familia y amigos

Considera estos patrones anteriormente: AzucarRelación, HarinaRelación, HuevoRelación

Problema: Determinar la relación óptima entre trozos de chocolate y masa de galleta

Solución: Observe que la mayoría de la gente considera los trozos de chocolate como lo mejor de la galleta. También observe que demasiado chocolate haría que la galleta no se mantuviese junta, disminuyendo su atractivo. Como se están cocinando pocas galletas, el coste no es un gran problema. Así, utilice tanto chocolate como pueda manteniendo la galleta compacta.

A considerar ahora: NuecesRelación o TiempoCocción o MetodoCongelación.

Lenguajes de patrón y wikis

Ward Cunningham creó la Wiki original, el Portland Pattern Repository, como una forma de expresar los lenguajes de patrón de forma efectiva. En la actualidad tiene cientos de patrones de diferentes campos, incluyendo muchos sobre programación extrema.

Trucos para crear un lenguaje de patrón

Los siguientes pasos asumen el uso de una aplicación informática de hipertexto, como una wiki.

  • Piense sobre la situación como una jerarquía de ideas, como un fractal, desde lo general al detalle.
  • Ponga cada idea en una página diferente, nombrándola con el título que describe la idea en pocas palabras.
  • En un índice, ordena las ideas desde las más grandes a los detalles. Esto permitirá al lenguaje de patrón ser lineal y fácilmente imprimible, si es necesario. Este paso incrementa de forma amplia la usabilidad del sistema si (casi) todas las páginas se mencionan en la gran lista.
  • Para cada patrón, escriba una descripción del problema, la solución y un ejemplo. Mientras lo escribe, conéctelo con los patrones con los que se relacione
  • Los gráficos son de gran ayuda.
  • Si hay varias personas editando el lenguaje de patrón, firme su trabajo. Además de la razón más obvia, permite conseguir un lista de las páginas usando enlace recíprocos en cada página.
  • Muestra referencias donde sea apropiado
  • Ponga un enlace al índice al final de cada patrón
  • Probablemente necesita una ventana para escribir su página, y al menos una más para saltar atrás y adelante con las referencias.

Enlaces externos

  • The Portland Pattern Repository
  • Tips For Writing Pattern Languages de Ward Cunningham.
  • Liberating Voices Proyecto de lenguajes de patrón
  • Liberating Voices Proyecto de lenguajes de patrón, Español
  • El sitio de Christopher Alexander patternlanguage.com
  • - ejemplo de uso de lenguaje de patrón para organizar grupos y recursos en una situación compleja (movimiento sostenible)
  •   Datos: Q1294584

lenguaje, patrón, para, libro, christopher, alexander, sobre, arquitectura, véase, lenguaje, patrones, diseño, lenguaje, patrón, método, estructurado, para, describir, serie, buenas, prácticas, diseño, área, particular, caracteriza, descubrir, nombrar, problem. Para el libro de Christopher Alexander sobre arquitectura vease El lenguaje de patrones En diseno un lenguaje de patron es un metodo estructurado para describir una serie de buenas practicas de diseno en un area particular Se caracteriza por Descubrir y nombrar los problemas mas comunes en el campo de interes Describir las caracteristicas principales de las soluciones efectivas para llegar al objetivo marcado Ayudar al disenador a moverse de un problema a otro de una forma logica Permitir diferentes caminos en un mismo proceso de diseno Los lenguajes de patron se utilizan para formalizar los valores de decisiones cuya efectividad resulta obvia a traves de la experiencia pero que es dificil de documentar y pasar a los aprendices Tambien son herramientas utiles a la hora de estructurar el conocimiento y comprender sistemas complejos sin caer en la simplificacion extrema Estos procesos incluyen la organizacion de personas o grupos que tienen que tomar decisiones complejas y revelan como interactuan las diferentes funciones como parte del total Indice 1 Origen 2 Muchos patrones forman un lenguaje 3 Uso 4 Como documentar un patron 5 Ejemplo sencillo de un patron 6 Lenguajes de patron y wikis 7 Trucos para crear un lenguaje de patron 8 Enlaces externosOrigen EditarChristopher Alexander acuno el termino lenguaje de patron Lo uso para referirse a los problemas normales del diseno arquitectonico y civil Su uso iba desde la forma de estructurar una ciudad a como debian disponerse las ventanas en una habitacion La idea se popularizo gracias a su libro A Pattern Language El libro de Alexander The Timeless Way of Building describe que significa para el lenguaje de patron y como se aplica al diseno de edificios y ciudades Sin embargo este sistema es aplicable a cualquier otro campo del diseno Alexander da la siguiente definicion de patron Cada patron describe un problema que ocurre una y otra vez en nuestro entorno para describir despues el nucleo de la solucion a ese problema de tal manera que esa solucion pueda ser usada mas de un millon de veces sin hacerlo ni siquiera dos veces de la misma forma Segun Richard Gabriel Cada patron es una regla de tres partes la cual expresa una relacion entre un cierto contexto un conjunto de fuerzas que ocurren repetidamente en ese contexto y una cierta configuracion software que permite a estas fuerzas resolverse por si mismas Muchos patrones forman un lenguaje EditarAsi como las palabras deben tener una relacion gramatica y semantica entre ellas para crear un lenguaje oral util los patrones de diseno deben estar relacionados los unos con los otros para poder formar un lenguaje de patrones En el trabajo de Alexander esta implicita la idea de que los patrones deben estar organizados en estructuras logicas o estructuras intuitivas La estructura jerarquica iterativa etc puede variar dependiendo del tema Cada patron debe indicar su relacion con otros patrones y con el lenguaje en si Uso EditarAlexander animo a la gente que usaba su sistema a expandirlo con patrones que los usuarios creasen Para hacer esto posible sus libros no se centran de forma estricta en arquitectura o en ingenieria civil En los libros tambien habla del metodo general de los lenguajes de patron De esta forma sus metodos se han usado para documentar el conocimiento experimental en diversos campos como los patrones informaticos que se usan en ingenieria de software patrones de diseno de interaccion en Interaccion del hombre con la computadora y patrones pedagogicos en educacion Sin embargo las especificaciones de Alexander sobre como usar un lenguaje de patron asi como como crear uno nuevo siguen ejerciendo su autoridad y sus libros son la referencia para expertos en campos muy diversos Es importante senalar que notaciones como UML o la coleccion de simbolos de los diagramas de flujo no son lenguajes de patron aunque podrian utilizarse para expresar un lenguaje de patron Una receta o cualquier otro conjunto de secuencias a seguir con solo un posible camino desde el inicio hasta el final tampoco es un lenguaje de patron Sin embargo el proceso de diseno de una nueva receta puede beneficiarse del uso de los lenguajes de patron Como documentar un patron EditarSiguiendo las ensenanzas de Alexander un patron individual debe describirse en 3 partes Contexto Bajo que condiciones resolvera esta solucion el problema Sistema de fuerzas Se puede considerar como el problema o el objetivo Solucion Una configuracion que pone las fuerzas en equilibrio o resuelve el problema presentadoContexto gt Sistema de fuerzas gt SolucionAsi una entrada en un lenguaje de patron deberia tener un nombre sencillo una descripcion concisa del problema una solucion clara y suficiente informacion para ayudar al lector a entender cuando aplicar esta solucion Tambien deberia mostrar que patrones deben tenerse en consideracion de ante mano y que patrones se deberian considerar mas adelante Ejemplo sencillo de un patron EditarNombre GalletaChocolateRelacionContexto Cocinando galletas de chocolate para tu familia y amigosConsidera estos patrones anteriormente AzucarRelacion HarinaRelacion HuevoRelacionProblema Determinar la relacion optima entre trozos de chocolate y masa de galletaSolucion Observe que la mayoria de la gente considera los trozos de chocolate como lo mejor de la galleta Tambien observe que demasiado chocolate haria que la galleta no se mantuviese junta disminuyendo su atractivo Como se estan cocinando pocas galletas el coste no es un gran problema Asi utilice tanto chocolate como pueda manteniendo la galleta compacta A considerar ahora NuecesRelacion o TiempoCoccion o MetodoCongelacion Lenguajes de patron y wikis EditarWard Cunningham creo la Wiki original el Portland Pattern Repository como una forma de expresar los lenguajes de patron de forma efectiva En la actualidad tiene cientos de patrones de diferentes campos incluyendo muchos sobre programacion extrema Trucos para crear un lenguaje de patron EditarLos siguientes pasos asumen el uso de una aplicacion informatica de hipertexto como una wiki Piense sobre la situacion como una jerarquia de ideas como un fractal desde lo general al detalle Ponga cada idea en una pagina diferente nombrandola con el titulo que describe la idea en pocas palabras En un indice ordena las ideas desde las mas grandes a los detalles Esto permitira al lenguaje de patron ser lineal y facilmente imprimible si es necesario Este paso incrementa de forma amplia la usabilidad del sistema si casi todas las paginas se mencionan en la gran lista Para cada patron escriba una descripcion del problema la solucion y un ejemplo Mientras lo escribe conectelo con los patrones con los que se relacione Los graficos son de gran ayuda Si hay varias personas editando el lenguaje de patron firme su trabajo Ademas de la razon mas obvia permite conseguir un lista de las paginas usando enlace reciprocos en cada pagina Muestra referencias donde sea apropiado Ponga un enlace al indice al final de cada patron Probablemente necesita una ventana para escribir su pagina y al menos una mas para saltar atras y adelante con las referencias Enlaces externos EditarThe Portland Pattern Repository Tips For Writing Pattern Languages de Ward Cunningham architypes net proyecto de lenguajes de patron comunitarios de arquitectura Liberating Voices Proyecto de lenguajes de patron Liberating Voices Proyecto de lenguajes de patron Espanol El sitio de Christopher Alexander patternlanguage com Ensayo sobre los lenguajes de patron y su uso en el diseno urbano Conservation Economy Pattern Language ejemplo de uso de lenguaje de patron para organizar grupos y recursos en una situacion compleja movimiento sostenible Datos Q1294584Obtenido de https es wikipedia org w index php title Lenguaje de patron amp oldid 136026525, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos