Los patrones de diseño son muy útiles para agilizar nuestro proceso de desarrollo pero, hay ocasiones en las que es mejor no usarlos y aquí te digo cuales.
Al programar muy probablemente te vas a encontrar con los mismos problemas que otros ya han resuelto en el pasado. Muchos de estos problemas son muy repetitivos y por eso han sido reconocidos y categorizados con la intención de crear soluciones genéricas llamadas patrones de diseño.
Un patron de diseño ofrece una solución probada y reconocida como la mejor práctica para un problema en particular. Además de que provee de un lenguaje común para expresar dicho problema y comunicarte con otros profesionales.
Los patrones de diseño suenan como una gran idea pero, aquí hay algunas situaciones en las que puede ser mejor no usarlos:
Primero debemos entender a profundidad el problema al que nos enfrentamos y tratar de solucionarlo con las opciones que nos da el lenguaje de programación que estamos usando.
Si no has entendido bien el problema terminarás usando el patrón incorrecto, forzando a que tu problema se adapte a la solución y no al revés.
Una muy mala práctica es pensar primero en el patrón de diseño antes que en la solución y adecuar tu código para que encaje en dicho patrón.
El usar los patrones sólo por usarlos no va a hacer que tu código sea mejor, nuestra solución debe contener en la medida de lo posible sólo código que se refiera a la lógica del negocio y evitar agregar capas de complejidad innecesarias.
Siempre evalúa el costo asociado a un patrón de diseño. Los patrones de diseño agregan cierta complejidad que en ocasiones se puede traducir en más necesidades de procesamiento y afectar el performance de tu aplicación.
Cuando tu código depende muchísimo de los patrones de diseño puede indicar que tal vez estás usando el lenguaje incorrecto para el problema que tratas de solucionar. Hay lenguajes más adecuados a ciertos tipos de problemas que otros.
Un patrón de diseño puede funcionar mejor con un lenguaje que con otro o incluso puede no ser necesario en cierto lenguaje.
Los patrones de diseño son una forma de complejidad, y como tales deben ser evitados hasta que sean absolutamente necesarios. Nunca los uses sólo pensando en el futuro en caso de que los vayas a necesitar.
Quiero dejar claro que sí es importante conocer los patrones de diseño ya que aprendes mucho de problemas muy comunes en el desarrollo de software y te proveen de un lenguaje común para comunicarte con otros profesionales. Pero esto no significa que los tengas que implementar en cada proyecto, toma en cuenta los puntos anteriores y aplicalos sólo cuando signifiquen un beneficio para tu proyecto.
¿Qué opinas? comenta cuáles patrones de diseño son los que más has usado y no olvides tomar el Curso Profesional de JavaScript para aprender más sobre este tema y muchos otros.
¿Qué hacer con un problema común en nuestro código?
A la hora de usar un patrón de diseño es importante manejar lo siguiente:
Al analizar todos estos temas con detenimiento, quizá no necesitemos estos patrones de desarrollo para solucionar cierto problema aparentemente incompresible.
¡Muchas gracias, Erik!Excelente artículo y necesario en estos días donde se reutiliza código no adecuado.
¡Mind blowing! 😅👏
¡My mind too! 🤯🤪
Excelente aporte. Gracias por eso Erik
Excelente aporte, Erik. 😃
Cuidado con la ortografía, en el título Cuando el performace es muy importante tienes escrita la palabra ocaciones
Muchas gracias por el aporte ¡Muy interesante!
Interesante!!! Es necesario tener un patrón de diseño definido en cada proyecto ?
Muy acertados todos los puntos. ¡Excelente post!