Patrones de diseño en PHP (I)

Los patrones software son "genéricos" para todos los lenguajes de programación aunque hay algunos específicos de un lenguaje. Son formas de describir las mejores prácticas y los buenos diseños. Estos muestran una solución flexible a los problemas comunes de programación.

A la hora de plantear el desarrollo de una aplicación, debemos dedicar un cierto tiempo a la planificación de su desarrollo.

Debemos "adelantarnos" a los posibles problemas que puedan surgir, usando soluciones que otros han desarrollado y que han funcionado ("no reinventar la rueda").

En ingeniería del software, un patrón (pattern) es una solución ya probada y aplicable a un problema que se presenta una y otra vez en el desarrollo de distintas aplicaciones y en distintos contextos. Es importante destacar que un patrón no es en general una solución en forma de código directamente, si no más bien una descripción de cómo resolver el problema y de ante qué circunstancias es aplicable.

Los patrones software fueron popularizados en el libro "**Design Patterns: Elements of Reusable Object-Oriented Software**", que trata de patrones genéricos, aplicables a una amplia gama de contextos y a cualquier lenguaje orientado a objetos. Este libro popularizó el "movimiento" de patrones y se ha convertido en un clásico, ampliamente referenciado y que muchos han tomado como base para añadir patrones nuevos. Los autores son Erich Gamma, Richard Helm, Ralph Johnson y John Vissides también conocidos como el Gang of Four (GoF). De hecho, en muchas publicaciones serias los patrones que aparecen en el libro "Design Patterns" se referencian con las siglas**GoF**.

Ante todo este floreciente movimiento en torno a los patrones cabe preguntarse si realmente aportan beneficios. Se suele argumentar que los patrones ofrecen tres ventajas fundamentales:

  • Están ya probados: son soluciones que han sido utilizadas con anterioridad de manera repetida y se ha comprobado que funcionan.

  • Son reutilizables: corresponden con problemas que no son específicos de un caso concreto, sino que se presentan una y otra vez en distintas aplicaciones.

  • Son expresivos: cuando un equipo de desarrolladores tiene un vocabulario común de patrones, se puede comunicar de manera fluida y precisa las ideas fundamentales sobre el diseño de una aplicación.

Por supuesto, los patrones no pueden ser la solución a todos los problemas de diseño y desarrollo de aplicaciones web. Como cualquier herramienta o metodología son susceptibles de malos usos, y de abusos (uso donde no es necesario). La experiencia y el sentido común dictarán cuándo son apropiados y cómo utilizarlos.

results matching ""

    No results matching ""