Patrones de diseño
DE SOFTWARE
Objetivos
1. Entender el concepto de patrón y saber cómo se documenta un
patrón.
2. Comprender las principales ventajas del uso de patrones.
3. Aprender a aplicar los patrones a lo largo del ciclo de vida del
desarrollo.
4. Conocer una clasificación de los patrones según la etapa del
ciclo de vida en que se pueden aplicar.
5. Entender el concepto deframework y su relación con los
patrones.
Que es un Patrón de Diseño?
"un patrón de diseño da nombre, motiva y explica de manera sistemática un diseño general que permite solucionar un problema
recurrente de diseño en sistemas orientados a objetos. El patrón
describe el problema, la solución, cuándo se tiene que aplicar la
solución, así como sus consecuencias. “
Ventajas de utilizarPatrones
Reutilizar las soluciones y aprovechar la experiencia previa de
otras personas que han dedicado más esfuerzo a entender los
contextos y las soluciones.
●
• Beneficiarnos del conocimiento y la experiencia de estas
personas mediante un enfoque metódico.
• Comunicar y transmitir nuestra experiencia a otras personas.
• Encapsular conocimiento detallado sobre un tipo de problema y
sussoluciones asignándole un nombre con la finalidad de poder
hacer referencia a éstos fácilmente.
• No tener que reinventar una solución al problema.
Estructura de un Patrón
Los elementos de la estructura de un patrón varían según los
autores, si bien hay un conjunto de elementos mínimos comunes a
la mayoría de ellos.
Elementos de un Patrón
El nombre hace referencia al patrón cuandodocumentamos
nuestro diseño o cuando lo comentamos con otros
desarrolladores.
El contexto nos indica qué condiciones se tienen que dar para
que el patrón sea aplicable.
El problema nos indica qué resuelve el patrón. Este problema
podría ser un problema concreto o la identificación de una
estructura problemática (por ejemplo, una estructura de clases
poco flexible)
Elementos de un PatrónLa solución describe los elementos que forman parte del patrón,
así como sus relaciones, responsabilidades y colaboraciones. La
solución no es una estructura concreta, sino que, como hemos
indicado anteriormente, es como una plantilla que podemos aplicar
a nuestro problema.
Las consecuencias son los resultados y los compromisos
derivados de la aplicación del patrón. Es muy importante que lastengamos en cuenta a la hora de evaluar nuestro diseño, ya que
es lo que nos permite entender realmente el costo y los beneficios
de la aplicación del patrón.
Aplicación de un Patrón
1) Identificar el problema que queremos resolver. Lo primero
que hay que tener claro es cuál es el problema que estamos
intentando resolver. Es posible que tengamos que descomponer
un problema complejo endiferentes subproblemas para tratarlos
de manera individual.
2) Plantear posibles soluciones al problema. Estas soluciones
las plantearemos de manera independiente al catálogo de
patrones disponible. El hecho de plantear las soluciones antes de
consultar el catálogo nos permitirá tener un conocimiento más
profundo del problema en el momento de seleccionar los patrones del catálogo.Aplicación de un Patrón
3) Identificar aquellos patrones que resuelven el problema que
hemos identificado. Habrá que acudir a nuestro catálogo de
patrones buscando qué patrones podrían resolver el problema que
nos hemos planteado.
4) Descartar aquellos patrones cuyo contexto no sea
compatible con el contexto en que nos encontramos. Para que
la aplicación de un patrón sea beneficiosa, nos tenemosque
asegurar de que no sólo soluciona el problema que nos interesa,
sino que, además, lo hace en un contexto compatible con el
nuestro.
Por ejemplo, no nos sirve de nada un patrón arquitectónico
que nos ayuda a estructurar una aplicación cuando la
arquitectura es centralizada si nuestra arquitectura es
distribuida.
Aplicación de un Patrón
5) Valorar las consecuencias de cada...
Regístrate para leer el documento completo.