Patrón de diseño


Un patrón de diseño es la forma reutilizable de una solución a un problema de diseño. La idea fue introducida por el arquitecto Christopher Alexander [1] y ha sido adaptada a otras disciplinas, en particular a la ingeniería de software . [2]

Una colección organizada de patrones de diseño que se relacionan con un campo particular se denomina lenguaje de patrones . Este lenguaje proporciona una terminología común para discutir las situaciones a las que se enfrentan los diseñadores.

Los elementos de este lenguaje son entidades llamadas patrones. Cada patrón describe un problema que ocurre una y otra vez en nuestro entorno, y luego describe el núcleo de la solución a ese problema, de tal manera que puedes usar esta solución un millón de veces, sin tener que hacerlo dos veces de la misma manera. .

Documentar un patrón requiere explicar por qué una situación particular causa problemas y cómo los componentes del patrón se relacionan entre sí para dar la solución. [3] Christopher Alexander describe los problemas comunes de diseño como que surgen de "fuerzas en conflicto", como el conflicto entre querer que una habitación sea soleada y querer que no se sobrecaliente en las tardes de verano. Un patrón no le diría al diseñador cuántas ventanas colocar en la habitación; en cambio, propondría un conjunto de valores para guiar al diseñador hacia la mejor decisión para su aplicación particular. Alexander, por ejemplo, sugiere que se deben incluir suficientes ventanas para dirigir la luz por toda la habitación. Considera que esta es una buena solución porque cree que aumenta el disfrute de la habitación por parte de sus ocupantes. Otros autores podrían llegar a conclusiones diferentes si otorgan mayor valor a los costos de calefacción o de materiales. Estos valores, utilizados por el autor del patrón para determinar qué solución es la "mejor", también deben documentarse dentro del patrón.

La documentación del patrón también debe explicar cuándo es aplicable. Dado que dos casas pueden ser muy diferentes entre sí, un patrón de diseño para casas debe ser lo suficientemente amplio como para aplicarse a ambas, pero no tan vago que no ayude al diseñador a tomar decisiones. La variedad de situaciones en las que se puede utilizar un patrón se denomina contexto. Algunos ejemplos podrían ser "todas las casas", "todas las casas de dos pisos" o "todos los lugares donde la gente pasa el tiempo".

Por ejemplo, en el trabajo de Christopher Alexander, las paradas de autobús y las salas de espera de un centro quirúrgico están dentro del contexto del patrón "UN LUGAR PARA ESPERAR".