Patrones de Diseño

By Tomás Hernández, Posted on January 9, 2024 (8mo ago)

Necesidad

Una de las preguntas más cruciales a medida que vamos creciendo en seniority o por simplemente curiosidad es "¿cómo puedo armar esto de una forma clara y buena?" "¿cómo puedo armar esto de tal forma que sea escalable?". Muchas veces, no todo son API's o simples CRUD sino sistemas que necesitan cierta rigurosidad para solucionar los problemas y que sigan escalando con el paso del tiempo sea cual sea el dev. La mejor forma de hacerlo, y ordenadamente son los Patrones de Diseño.

Adelanto con ejemplos

  1. ¡Estoy creando demasiadas instancias de objetos, gastando memoria para hacer siempre lo mismo! -> Utilizá el Patrón Singleton
  2. ¡Necesito poder implementar inicios de sesión con Google, GitHub, AWS, Skype! -> Utilizá el Patrón Adaptador
  3. ¡Necesito que todos mis seguidores reciban una notificación cuando publico algo! -> Utilizá el Patrón Observador
  4. ¡Necesito que mi personaje pueda aplicarse prendas, en donde cada una tiene sus propiedades que potencian al personaje y quitarlas fácilmente si es necesario! -> Utilizá el Patrón Decorador

¿Qué son los patrones de diseño?

Son técnicas que nos permiten solucionar y no re-inventar la rueda para tratar de inventar una nueva solución a un problema conocido.

Estos ayudan a construir sistemas escalables.

Podemos usar patrones de diseño para temas como:

Tipos de Patrones de Diseño

¿Por qué se cree que los Patrones de Diseño son difíciles?

Porque en la práctica, los patrones de diseño abarcan demasiadas cosas. Si uno entiende bien cada patrón de diseño, o tiene una noción de su existencia bastará con leer un requerimiento para darse cuenta cual es el que soluciona su problema.

¿Listo para aprender patrones de diseño?

Te dejo en enlace: Patrones de Diseño - Singleton