Antes de nada te pedimos que participes en la encuesta "Patrones de diseño de software"
Introducción
Los patrones de diseño son
una pieza fundamental en el desarrollo del software. Un patrón de diseño en
software es un problema que ocurre una y otra vez en nuestro entorno y que
puede resolverse repetidamente del mismo modo sin necesidad de implementar una
solución diferente cada vez. Es decir, los patrones de diseño son soluciones exitosas y contrastadas a
problemas comunes.
Un patrón de diseño tiene 4 elementos
esenciales:
Nombre
del patrón: Permite
describir en pocas palabras un problema de diseño junto con sus soluciones y
consecuencias. Tener un vocabulario de patrones nos permite diseñar con mayor
abstracción y tener un lenguaje común para compartir, transmitir y documentar a
otros compañeros de profesión. A su vez se pueden identificar fácilmente sus
puntos fuertes y sus inconvenientes para decidir cuál es la mejor elección en
cada caso.
Problema:
Describe cuando se debe
aplicar el patrón, explicando el problema y el contexto. En ocasiones el
problema incluye una serie de requisitos que deben producirse para que tenga
sentido aplicar el patrón.
Solución: Describe los elementos que constituyen,
las relaciones, responsabilidades y colaboraciones entre ellos. El patrón
proporciona una descripción abstracta de un problema de diseño y como se
resuelve a través de una serie de elementos. En el caso de Java y los lenguajes
de programación orientados a objetos, estos elementos serán los interfaces, clases y objetos.
Consecuencias: Son las ventajas e inconvenientes de
aplicar el patrón. Son fundamentales para evaluar las alternativas de diseño y
comprender los costes y beneficios de aplicar cada patrón. Incluyen entre otras
el impacto sobre la flexibilidad, extensibilidad y potabilidad de un sistema.