• Un catálogo de patrones es una clasificación de un conjunto de patrones utilizando uno o más criterios, permitiendo que la búsqueda de una solución a un problema concreto sea más sencilla. Siguiendo con la analogía de los patrones de confección textil, sería como organizar los patrones textiles por criterios tales como el tipo de prenda que queremos confeccionar (p.e. blusas, vestidos, faldas, pantalones) o por el tipo de elemento a confeccionar (p.e. perneras, cuerpos, mangas). El uso del catálogo consistiría en determinar primero qué problema queremos resolver (p.e. confeccionar una blusa o la manga de una blusa), ir a esa categoría o intersección de categorías (p.e. blusas de manga larga, manga corta, sin manga, con puño, sin puño) y seleccionar de entre los patrones que se encuentran en dicha categoría, el patrón o patrones que mejor se ajusta a las necesidades específicas de nuestro problema. Por ejemplo, para confeccionar una blusa de manga con puño abotonado probablemente usaremos un patrón para la blusa, otro para la manga con puño y un tercer patrón para el puño abotonado.
  • Un catálogo presenta una colección de soluciones relativamente independientes, mientras que un lenguaje de patrones es una organización más compleja, en la cual subyace también el conocimiento de cómo aplicar un conjunto de patrones y en qué orden hay que hacerlo para que el proceso sea lo más efectivo posible. Esta efectividad resulta obvia si se cuenta con suficiente experiencia, pero es difícil de documentar y transmitir a los no expertos. La colección de patrones que se recopilan en un lenguaje no son completamente independientes, ya que tienen como objetivo común la resolución de un problema complejo (p.e. la confección de una blusa), y por ello están interconectados entre sí. Cada patrón resuelve parte del problema y guía hacia otros problemas que deben ser considerados (p.e. el patrón de la blusa nos llevará a elegir patrones para el cuerpo delantero, el cuerpo trasero, las mangas y el cuello). Así se forma una red donde cada patrón depende de los patrones de menor escala que contiene (p.e. el patrón manga contiene el patrón puño) y de los patrones de mayor escala en los que está contenido (p.e. el patrón manga depende del patrón blusa), ayudando al diseñador a navegar entre la red de patrones para seleccionar aquellos que ayudan a solucionar de manera completa y satisfactoria un determinado problema. Si bien al hablar de confección textil las relaciones pueden parecer obvias, las interrelaciones entre patrones software no son tan obvias para el diseñador, máxime cuando nos encontramos con un dominio de diseño como el e-learning en el que se precisa conocimiento multidisciplinar. Es en este tipo de casos donde los lenguajes pueden demostrar su potencial utilidad, ayudando al diseñador novato a percibir problemas que ni siquiera imaginaba que podían existir, por estar éstos dentro de un ámbito de conocimiento ajeno  a su especialidad. de interacciones llevarán a cabo.

Como reflexión final de esta sección, podemos añadir que un patrón no es una solución en sí misma, sino la documentación de la forma en que construyeron soluciones a problemas similares en el pasado, lo cual permite una mejor gestión de la experiencia y transferencia de conocimiento. Un patrón tampoco es un fragmento de código directamente reutilizable, sino que ofrece una descripción más o menos detallada de una posible forma de abordar un determinado problema que tiene que ser evaluada y adaptada por el diseñador de acuerdo con sus necesidades concretas. En resumen, un patrón nos ayuda a diseñar una solución adecuada y a justificar su validez, pero no nos da la solución directamente aplicable.


retroceder avanzar