Comunidad de diseño web y desarrollo en internet

Introducción a los Patrones de Diseño

Para los que no hayan oído hablar antes de patrones de diseño, podemos decir que los patrones son soluciones a problemas típicos en el desarrollo y diseño de software.

Objetivos


Los objetivos principales de los patrones de diseño son, entre otros:

  • Evitar buscar soluciones a problemas típicos ya solucionados anteriormente.
  • Estandarizar el modo en que se realiza el diseño.
  • Facilitar el aprendizaje de la solución a dichos problemas a los nuevos diseñadores.

Así pues, el uso de patrones de diseño no es obligatorio, pero sí recomendable siempre que se puedan aplicar sin forzar su uso.

Plantillas de patrones


Todos los patrones deben tener ciertas características (es lo que se conoce como plantilla del patrón). Algunas de ellas son:

  • Nombre (normalmente en inglés, aunque a veces se pueden encontrar traducidos).
  • Clasificación (creacional, estructural o de comportamiento).
  • Problema que resuelve.
  • Estructura (diagrama de clases del patrón).
  • Código de ejemplo (código fuente en algún lenguaje de programación aplicando el patrón).
Puede verse la lista entera aquí.

Clasificación de patrones


Como ya hemos visto, los patrones se clasifican en 3 tipos diferentes:

  • Patrones creacionales: Resuelven problemas relacionados con la creación de instancias de objetos. Por ejemplo, el patrón Singleton se encarga de que sólo pueda existir una instancia de la clase a la que es aplicado.

  • Patrones estructurales: Se centran en problemas relacionados con la forma de estructurar las clases. Por ejemplo, el patrón Composite permite trabajar con listas de objetos (u objetos compuestos) como si de un solo objeto se tratase.

  • Patrones de comportamiento: Permiten resolver problemas relacionados con el comportamiento de la aplicación, normalmente en tiempo de ejecución. Por ejemplo, el patrón Strategy proporciona diferentes métodos (o algoritmos) para resolver un mismo problema, pudiendo decidir en tiempo de ejecución cuál de ellos utilizar.

Hasta aquí la introducción a los patrones de diseño. Es probable que de momento no se encuentre la utilidad de utilizar patrones de diseño a la hora de desarrollar aplicaciones, puesto que esta introducción es un poco abstracta. No obstante, en la siguiente parte explicaré los patrones creacionales, incluyendo códigos de ejemplo descargables e imágenes representando el diagrama de clases de los patrones, con la esperanza de que se empiece a entender su utilidad.

¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.

Publica tu comentario

o puedes...

¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?

¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?

Registrate