1.- ¿QuĂ© son los patrones de diseño?
Voy a hacer un copy-paste de la wikipedia porque creo que yo mismo no encontrarĂ© mejores palabras para definirlo :“Los patrones de diseño son la base para la bĂşsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacciĂłn o interfaces.
Un patrĂłn de diseño es una soluciĂłn a un problema de diseño. Para que una soluciĂłn sea considerada un patrĂłn debe poseer ciertas caracterĂsticas. Una de ellas es que debe haber comprobado su efectividad resolviendo problemas similares en ocasiones anteriores. Otra es que debe ser reusable, lo que significa que es aplicable a diferentes problemas de diseño en distintas circunstancias.”
2.- ¿Para que sirven los patrones de diseño?
Seguro que casi todos vosotros habĂ©is usado el MVC (Modelo Vista Controlador) en más de una ocasiĂłn usando algĂşn Framework o librerĂa. ¿Os habĂ©is dado cuenta de los fácil que es programar con este mĂ©todo una web? ¿HabĂ©is observado lo lĂmpio que queda el cĂłdigo y lo rápido que se programa? Pues bien el MVC no es más que un patrĂłn de diseño que se adapta perfectamente a la programaciĂłn web.
En general los objetivos de cualquier patrón de diseño los podemos resumir en los siguientes puntos:
- Aportar elementos reutilizables en el diseño de sistemas software.
- Evitar la repeticiĂłn de bĂşsqueda de soluciones a problemas ya conocidos y ya solucionados anteriormente.
- Definir un vocabulario comĂşn entre Analistas-Programadores.
- Estandarizar el modo en que se realiza el Análisis estructural de la aplicación.
- Facilitar el aprendizaje de las nuevas generaciones de programadores condensando conocimiento ya existente.
Saber de patrones de diseño te ayuda a tener un lenguaje común con otros programadores. Cuando te toque modificar un programa, el autor del código seguramente tendrá que explicarte qué fue lo que hizo, cómo funciona su código y por qué hizo cualquier cambio. Se puede demorar horas. Pero esa conversación puede acortarse si te dice, aquà estoy utilizando tal o cual patrón (por ejemplo: el patrón Factory). Serás tú el que ya conozcas los conceptos detrás de esa palabra y sabrás cómo fue diseñado el programa.





