jueves, 24 de septiembre de 2020

Usa patrones de diseño

Es difícil clarificar el concepto de "patrón de diseño". Los patrones de diseño son básicamente construcciones de código que solucionan problemas comunes en el trabajo con y entre objetos. Para ello, utilizan generalmente el tipo Interface de los lenguajes de programación. La ventaja es que son aplicables a cualquier lenguaje que soporte las características de dicho tipo.

Los patrones de diseño resuelven aspectos como, entre otros:

  • Forzar a que una clase tenga una única instancia global para la aplicación.
  • Crear objetos de una clase u otra según el contexto.
  • Clonar objetos.
  • Adaptar los mensajes de salida de un objeto con los de entrada de otro, sin poder modificar el código de uno de ellos o ambos.
  • Comunicar sucesos entre objetos sin conectarlos directamente.
  • Iterar por todos los objetos de una clase.
  • Permitir deshacer y rehacer acciones de un objeto.
  • Delegar responsabilidades a otros objetos.
  • Componer objetos en grupos.
  • Sustituir dinámicamente el comportamiento de un método invocado.
  • Cambiar la interfaz externa de un objeto no modificable.

        La experiencia en el uso de los patrones de diseño es la que nos dice en qué contexto deben ser utilizados: cuanto antes se conozcan y se dominen, mejor.

Un excelente y bien explicado libro de patrones de diseño puede encontrarse en la bibliografía ([FRE04]).

[FRE04] E. Freeman, E. Freeman, K. Sierra, B. Bates. Head First Design Pattern. O'Reilly Media, 2004.