Creo que esta cita del fallecido físico estadounidense Richard Feynman resume mis sentimientos sobre este asunto.
“No sé qué le pasa a la gente: no aprenden entendiendo, aprenden de otra manera, de memoria o algo así. ¡Su conocimiento es tan frágil! “- Richard P. Feynman
Los patrones de diseño son más dañinos cuando el ingeniero no comprende la razón del patrón de diseño. En mi humilde opinión, este es uno de los errores comunes que veo en la comunidad de ingeniería de software. Veo ingenieros orgullosos de haber memorizado los patrones de diseño de GoF, pero no los entiendo realmente. Estos ingenieros tratan los patrones de diseño como hechizos aprendidos de un libro mágico. ¡Conocer el nombre de un patrón de diseño no es lo mismo que conocer el patrón de diseño!
- ¿Debe un recién graduado de CS comenzar en ingeniería de software o gestión de productos?
- ¿Un desarrollador de pila completa es lo mismo que un generalista?
- ¿Cuáles son las mejores prácticas al depurar aplicaciones móviles?
- Cómo generar una curva de entropía para señal en Matlab
- ¿Cuáles son algunos recursos sobre cómo enviar datos a Google Analytics desde la aplicación web Java?
Lo más importante que debe saber antes de usar un patrón de diseño son sus limitaciones y compensaciones inherentes. Un buen ejercicio es encontrar algunas formas diferentes de resolver el problema y luego comparar las ventajas y desventajas.