La Importancia de Aprender Patrones de Diseño

Los patrones de diseño sirven para ahorrarnos el pensar en nuevos diseños bajo problemas habituales, el conocerlos nos da herramientas para abreviar soluciones a problemas.

Los patrones de diseño son técnicas las cuales nos sirven para no reinventar la rueda en problemas comunes.

Al momento que comenzamos a programar, hacemos las cosas como se nos viene a la mente, aun sabiendo sobre diseño de software, podemos llegar a diseños distintos para la misma solución.

Los patrones de diseño sirven para ahorrarnos el pensar en nuevos diseños bajo problemas habituales, el conocerlos nos da herramientas para abreviar soluciones a problemas.

Los patrones de diseño inicialmente se dividen en 3 tipos que son los creacionales, los estructurales y de comportamiento, pero con el tiempo han salido patrones de diseño nuevos para cubrir nuevas necesidad que van desde patrones de diseño reactivos a patrones de diseño concurrentes.

El objetivo de los patrones de diseño es hacer que tengas una colección de soluciones para cuando tengas problemas habituales, ya no tengas que volver a pensar en como vas a organizar tus clases (hablando de programación orientada a objetos).

Por ejemplo, un problema habitual es trabajar con un objeto general en todo el sistema, para eso tenemos un patrón de diseño llamado Singleton, el cual te indicara como organizar el código de una clase para que solo permita la creación de un objeto.

En el frontend es habitual que necesitemos tener objetos que observen a otros objetos, por ejemplo, saber si un listado ha cambiado, y a partir de este cambio, hacer una actualización a un campo que indica el total de filas, para este tipo de situaciones podemos utilizar el patrón de diseño Observer.

Otra situación viene, cuando para crear un objeto necesitamos muchos parámetros en su constructor, para solventar esto tenemos un patrón de diseño llamado Builder, el cual permitirá construir el objeto por pasos.

Una cosa extra que se tiene al aprender patrones de diseño, es que son ajenos al lenguaje de programación, si tu los aprendes con C#, no deberías tener problema en replicarlos en Python por ejemplo.

Aprender patrones de diseño es obligatorio para todo programador, ya que le brindara un potencial extra a la hora de programar.

Puedes aprender patrones de diseño en mi curso de Patrones de Diseño en Python, dando clic aquí.

A continuación te muestro un ejemplo del patrón de diseño Proxy, y como este te puede ayudar a resolver problemas de optimización:

Autor: Héctor de León

Desarrollador de software, lector compulsivo.