Un ejemplo de patrón es North Face pattern (patrón cara norte) (Alexander et al., 1977, pp. 761-763). En la siguiente figura se puede ver el texto completo de este patrón tal y como aparece en el libro original, en la cual se han señalado cada una de sus partes.

Figura 2.2.a. Descripción del patrón North Face
 (Alexander et al., 1977).

Descripción del nombre, contexto, problema, solución y otros patrones del patrón North Face.

Este patrón se aplica a cualquier edificio que tiene una cara norte. La principal justificación de la existencia del patrón es que el sol a menudo proyecta una larga sombra detrás del edificio, creando una región sombreada no deseada. Una solución es rellenar esa región de sombra con cosas que no requieran luz solar, como por ejemplo un aparcamiento. Así, el patrón relaciona un contexto particular, identifica las razones subyacentes para ese patrón y ofrece una solución. Por lo tanto, cada patrón representa en sí mismo un plan general que puede ser usado en un proceso de diseño para resolver un problema específico. Una vez que la solución ha sido aplicada, se pueden plantear nuevos problemas tales como la forma de planificar un aparcamiento para el coche o un sitio para almacenar la basura, pero estos problemas serán tratados por otros patrones, en nuestro ejemplo Car Connection y Bulk Storage, respectivamente. Cada patrón incluye dibujos que esquematizan el problema planteado y la solución propuesta. En la figura 2.2.b se pueden ver ambos dibujos para el patrón North Face. Como se puede observar, los dibujos son muy intuitivos y no es preciso ser un arquitecto para entenderlos.

Figura 2.2.b. Patrón North Face (Alexander et al., 1977).

En esta figura se aprecia cómo los hogares se organizan en función de donde se halle situado el norte.

Alexander intentó demostrar de manera práctica la utilidad de este enfoque del “Lenguaje de Patrones” aplicándolo en diferentes construcciones: en un plano para la Universidad de Oregón, en el diseño de un restaurante en Linz, Austria, y en la construcción de casas en el norte de México. En este último experimento descrito en The Production of Houses (Alexander et al., 1985) propone reemplazar la construcción mecánica de los sistemas de producción por otros más humanos, involucrando a las familias que van a habitar  en esas construcciones. Para ello, cada familia ayudó a diseñar y a construir su propia casa, intentando satisfacer sus propias necesidades utilizando para ello el marco definido por el lenguaje de patrones. Las familias estudiaron un lenguaje de patrones, que incluía 21 patrones relacionados con la construcción de casas. Aunque el proyecto completo no se terminó, cinco casa fueron construidas siguiendo este enfoque. Este lenguaje de patrones permitió a las familias construir la casa  que ellos necesitaban, siendo al mismo tiempo cada una de ellas una variante de la casa tipo descrita por el lenguaje de patrones. Alexander destacó de esta experiencia cinco aspectos principales: primero, que la gente trabajó a una determinada hora cada día; segundo, cada familia contribuyó con al menos algunas labores físicas; tercero, siempre se completaba algún detalle cada día; cuarto, la gente se ayudaba en las operaciones más arduas; y quinto, había una celebración al final de cada operación. El resultado no fue solamente un entorno de trabajo más agradable sino que la gente también se sintió más segura y consciente de su potencial.

El concepto de patrón es tan genérico que dos décadas después fue acogido con un rotundo éxito dentro de la ingeniería del software tras la publicación del libroDesign Patterns: Elements of Reusable Object-Oriented Software (Gamma et al., 1994). Este libro sirvió para asentar las bases de los patrones de diseño en la comunidad software y convertir los patrones de diseño en un tema relevante para los desarrolladores, profesionales e investigadores, dando lugar a diferentes conferencias anuales - v.g. la serie PLOP, Pattern Languages Of Programs (PLOP, 2008) - y grupos de estudio en diferentes áreas – (Hillside Group, 2007), (IFIP TC13 HCI Patterns Task Group, 2005) o Security Patterns Community (Security Patterns Comunity, 2008) -. Se puede decir que la contribución de Gamma et al. (1994)  a la reutilización del software ya ha hecho historia.

Como conclusión de esta sección, hay que resaltar que los patrones de diseño son ante todo una técnica para compartir y capturar conocimiento sobre un determinado ámbito de diseño. En la siguiente sección se comentan qué son los formatos de patrones, es decir la estructura utilizada para registrar ese conocimiento, y los componentes de esa estructura que son utilizados en diferentes dominios.


retroceder avanzar