Los patrones de diseño son soluciones comunes para problemas comunes. Cuando agrega un control deslizante a una página de inicio, utiliza un patrón de diseño. Cuando alguien pregunta: "¿Por qué reinventar la rueda?", Defienden la adopción de un patrón de diseño.
En la Web, el término "patrones de diseño" se refiere con mayor frecuencia a técnicas de programación; sin embargo, también existen patrones de diseño dentro del diseño visual. Y aunque resolver un problema recurrente de codificación con la misma solución es un enfoque eficiente, reutilizar un diseño visual no es tan deseable.
Los patrones de diseño son mucho menos comunes en el diseño de impresión que en la Web, a pesar de que el diseño de impresión ha tenido mucho más tiempo para diseñarlos. La razón de esto es que el diseño web está muy influenciado por disciplinas como la arquitectura de la información, la codificación y la usabilidad; todos los cuales abrazan el uso de patrones de diseño.
Los programadores no valoran la originalidad, valoran las soluciones efectivas y elegantes. Si alguna vez ha escrito en PHP, sabrá que existen numerosas maneras de recuperar datos de una base de datos, pero la mayoría de los programadores de PHP tienen un fragmento que usan una y otra vez. Si ha escrito JavaScript sabrá que hay una variedad de formas de bucle, pero una de ellas es más eficiente y generalmente preferible. De hecho, la mayoría de los editores de código tienen una función de fragmento precisamente porque los programadores reutilizan soluciones.
Los diseñadores, por otro lado, valoran la originalidad, y aunque es probable que algunos diseñadores usen patrones de diseño porque carecen de la imaginación (o coraje) para hacerlo, la mayoría de los diseñadores simplemente adoptan una fórmula que ha demostrado tener resultados.
Sin embargo, utilizar un patrón de diseño no es natural en el proceso de diseño, y es por eso que encontrará los patrones de diseño más obvios donde la codificación tiene una mayor influencia. Compare los sitios web diseñados para aplicaciones móviles, la mayoría de las veces verá que emplean los mismos patrones de diseño una y otra vez: la aplicación se muestra en un teléfono, alineado a la izquierda o a la derecha; al lado del teléfono hay un eslogan y un llamado a la acción; el fondo es una fotografía borrosa generalmente de una cafetería.
Los patrones de diseño ciertamente parecen funcionar. Son convenciones que evolucionan con el tiempo, y es increíblemente raro que un patrón de diseño sea acreditable para una sola persona. Al igual que el darwinismo cultural, aquellos patrones que sobreviven hasta el punto de que son identificables como patrones, deben ser exitosos.
Los patrones de diseño también son probablemente la ruta más simple hacia el éxito para un diseñador web. Ofrecen soluciones comprobadas que cientos, si no miles, de clientes ya han firmado. Además, los patrones de diseño no necesitan una prueba beta, no necesitan pruebas A / B, es probable que ni siquiera necesite que su mamá los pruebe, ya que los patrones de diseño se prueban en la Web en una a diario y solo los que trabajan sobreviven.
Emplear un patrón de diseño es el equivalente creativo de pintar por números.
Pero aunque los patrones de diseño (aparecen) funcionan para los clientes, no funcionan para los diseñadores. Emplear un patrón de diseño es el equivalente creativo de pintar por números. Y si somos honestos con nosotros mismos, estamos en esto por más de un sueldo. Sí, tiene la responsabilidad para con su cliente de ofrecer los mejores resultados posibles, pero también tiene una responsabilidad consigo mismo. Si no vas a ser creativo, hay formas más fáciles de pagar el alquiler.
Los defensores de los patrones de diseño argumentan que aumentan la participación al proporcionar al usuario final una interfaz de usuario común con la que está familiarizado, asegurando que el diseño tenga una curva de aprendizaje poco profunda. Sin embargo, es una forma de pensar desactualizada. Claro, si está creando una aplicación compleja, algunas convenciones ayudarán a los usuarios a encontrar el camino correcto, pero es muy poco probable que alguna vez diseñe un sitio web para un grupo demográfico que no tenga experiencia en la Web.
Cuando la Web era nueva, tenía sentido hacer que cada enlace fuera azul. Ayudó a las personas a encontrar su camino. Pero ya no es necesario un lenguaje común para los enlaces porque entendemos dónde es probable que encontremos enlaces. Como lo demuestra el hecho de que el patrón de diseño del enlace azul ya no es omnipresente.
El problema con los patrones de diseño es que, aunque parecen funcionar a corto plazo, también tienen una fecha de caducidad; y nadie sabe qué es.
Los patrones de diseño evolucionan como la flora y la fauna, las mejores, o quizás las ideas más adaptables prosperan y se propagan. Pero, al igual que los dinosaurios que nunca vieron venir ese meteorito, los patrones de diseño encuentran eventos de nivel de extinción.
Un evento de nivel de extinción es un cambio tan rápido, que la evolución no es lo suficientemente rápida como para adaptarse al cambio. El T-Rex puede haber gobernado los bosques del cretáceo, pero no pudo hacer frente a un cambio de temperatura de unos pocos grados, así como a ese pequeño mamífero parecido a una musaraña que se escabulló pasando desapercibido.
Para muchos patrones de diseño, el diseño receptivo fue un evento de nivel de extinción.
Hasta la explosión del diseño móvil, uno de los patrones de diseño más utilizados fue el diseño santo del grial (llamado así porque se consideró ideal, pero difícil de lograr con el CSS que estaba disponible en ese momento). Cuando la web móvil introdujo la necesidad de un diseño receptivo, los diseños del Santo Grial cayeron en desgracia porque, aunque todavía trabajaban para computadora de escritorio, no se adaptaban fácilmente a las pantallas móviles.
Los problemas que los diseñadores tienen que resolver no existen en el vacío. La Web es un ecosistema en constante cambio, con influencias externas, presiones internas y cambios aparentemente aleatorios. Cuando usamos un patrón de diseño, estamos solucionando el problema de ayer, con la solución de ayer; y dejamos el problema de hoy sin respuesta.
Los primeros principios son un método de pensamiento lógico que reduce cada problema a ideas centrales que no pueden deducirse entre sí.
Parafrasear Ejemplo superior de Wikipedia: Todos los navegadores tienen errores; Safari es un navegador; Safari tiene errores. La tercera declaración es innecesaria, ya que puede deducirse de las dos primeras declaraciones.
Elon Musk es un devoto del pensamiento de los primeros principios. La semana pasada, VentureBeat informó esa compañía de Musk, SpaceX, construyó un cohete espacial por alrededor del 2% del costo habitual, simplemente aplicando el pensamiento de los primeros principios.
Cuando confías en un patrón de diseño, estás asumiendo un problema que quizás no necesites resolver.
La antítesis del pensamiento de los primeros principios es el pensamiento análogo; los patrones de diseño son análogos Cuando confías en un patrón de diseño, estás asumiendo un problema que quizás no necesites resolver. Si aplica un estilo azul a todos sus enlaces, está resolviendo un problema de usabilidad desde 2000, pero es un problema que apenas existe en 2015.
Al adoptar un enfoque de primeros principios, nos enfocamos en el núcleo del problema que realmente tiene nuestro cliente, sin heredar problemas no relacionados que se resuelven mediante las elecciones de diseño de otras personas.
Los patrones de diseño ofrecen soluciones eficaces a corto plazo para problemas comunes. Sin embargo, cuanto más prevalece el patrón de diseño, más establecido está, y mayor es la probabilidad de que se acerque a un evento de nivel de extinción.
En lugar de comparar soluciones y derivar respuestas de las respuestas de otras personas, deberíamos enfocarnos en los problemas actuales de nuestros clientes.
La Web cambia constantemente a nuestro alrededor, y el diseño continúa evolucionando, al adoptar un enfoque de principios básicos podemos producir un trabajo lo suficientemente robusto como para sobrevivir en línea. ¿Quién sabe? Incluso puede llegar a ser creativo.