Patrones de diseño que debes conocer

Los patrones de diseño nos ayudan a crear aplicaciones robustas resolviendo los problemas comunes utilizando soluciones conocidas y probadas.

Identificamos algo como un patrón cuando resolvemos un problema que ocurre frecuentemente utilizando un esquema común de solución. Este esquema es posible utilizarlo todas las veces que ocurre el mismo problema, convirtiendo este esquema en un diseño reutilizable.

Esto ayuda a ahorrar tiempo evitando crear soluciones particulares para algo que ya ha sido resuelto antes.

Un patrón de diseño es una manera conocida de resolver un problema recurrente.

Este diseño se convierte así en un template que ya ha sido evaluado innumerables veces por lo que podemos confiar en que han sido testeados. Sin embargo, debemos recordar que estos templates son propuestas para ser utilizadas en nuestros códigos y en algunos casos quizás requieran cambios para adaptarlos, pero la base del template ya nos resume mucho el trabajo.

¿Por qué reinventar la rueda si funciona perfectamente así? Dato que el problema ya fue analizado y este template ya ha sido probado con éxito antes, si usamos los diseños de código puedes despreocuparte de resultados no esperados.

Un buen diseño permite un mantenimiento sin mucha dificultad en razón de que es conocido y se encuentra documentado de manera extensiva. Facilita cualquier discusión y análisis que surja sobre el código existente lo que mejora además la lectura para nuevos desarrolladores sobre el código.

Como se clasifican los patrones de diseño

Tipos de patrones de diseño

Hay varios tipos de patrones que pueden resultarnos de gran utilidad. Creacionales, estructurales y de comportamiento. Estos son solo algunos que habitualmente uso y que creo no pueden faltar en nuestra rutina diaria de desarrollo.

Los creacionales que resuelven problemas en la creación de instancias.

Los estructurales que se resuelven problemas referidos a la estructura de las clases.

De comportamiento que resuelven problemas relacionados con la forma en que debe comportarse un objeto.

En resumen:

  • Ayuda a unificar el código desarrollado entre distintos programadores.
  • Ayuda a ganar tiempo en aplicando soluciones conocidas a problemas comunes.
  • Ayuda a crear un código legible y mantenible en el futuro.
Hi! If you find my posts helpful, please support me by inviting me for a coffee :)

Ver también