INTRODUCCION
El objetivo del diseño de software es llegar a un
producto de calidad. El diseño debe ser adecuado para la aplicación en
particular, pero dicha solución también debe ser general para poder enfrentar
distintos escenarios y evitar el rediseño. No es necesario partir desde cero.
Los patrones de diseño de software nacen en los
80’s con Kent Beck y Ward Cunningham, que discutían patrones para Smalltalk. La
contribución más célebre es el libro “Patrones de Diseño”
¿QUE ES UN PATRON DE DISEÑO?
De acuerdo al arquitecto Christopher Alexander,
“cada patrón de diseño describe un problema que ocurre una y otra vez en
nuestro entorno, así como la solución a ese problema de tal modo que se pueda
aplicar esta solución una y otra vez, sin repetir cada vez lo mismo”.
¿POR QUÉ UTILIZAR LOS PATRONES DE DISEÑO?
Su utilización y documentación permite a
desarrolladores novatos beneficiarse de la experiencia de soluciones
anteriores. Proporcionan un vocabulario común a los desarrolladores, mejorando
la comunicación de soluciones entre ellos. Además al tener conocimiento sobre
patrones, es posible obtener mejores diseños
·
Las soluciones con patrones resuelven problemas específicos
hacen los diseños orientados a objetos más flexibles, elegantes y sobre todo
reutilizables.
·
Facilitan la reutilización de diseños y arquitecturas de
software que han tenido éxito.
·
Ayudan a comprender mejor un sistema cuando está
documentado con los patrones que se utilizaron en su desarrollo.
·
Facilitan la reestructuración de un sistema. Y permite
adaptarse más rápido y de mejor forma a las modificaciones que se dan en los
sistemas durante un período de tiempo.
ELEMENTOS DE UN PATRON DE DISEÑO
En
general un patrón tiene cuatro elementos esenciales:
1)
El nombre del patrón: permite describir, en una o dos
palabras, un problema de diseño con sus soluciones y consecuencias.
2)
El problema: describe cuando aplicar el patrón. Explica el
problema y su contexto.
3)
La solución: describe los elementos que constituyen el
diseño, sus relaciones, responsabilidades y colaboraciones. La solución no
describe un diseño o una implementación en concreto, sino que un patrón es más
bien como una plantilla que puede aplicarse en muchas situaciones diferentes.
4)
Las consecuencias: son los resultados así como las ventajas
e inconvenientes de aplicar el patrón.
¿CÓMO SE CLASIFICAN LOS PATRONES DE DISEÑO?
Los
patrones de diseño se clasifican de acuerdo a:
Su
propósito:
·
Patrones de creación. Se refieren a la creación de
instancias.
·
Patrones estructurales. Se refieren a las relaciones entre
clases y/u objetos.
·
Patrones de comportamiento. Caracterizan la forma en que
las clases u objetos interactúan y distribuyen sus responsabilidades
(servicios).
Su
ámbito:
·
Patrones de clases. Tratan con relaciones de herencia
(estática) entre clases.
·
Patrones de objetos. Se refieren a relaciones de
composición entre objetos, que pueden cambiar en tiempo de ejecución y son más
dinámicas.
Creacionales
|
|
Estructurales
|
|
Comportamiento
|
|
A continuación se presentan los 13 patrones más
utilizados para el desarrollo del software
No hay comentarios:
Publicar un comentario