Los patrones de diseño pretenden:
- Proporcionar catálogos de elementos reusables en el diseño de sistemas software.
- Evitar la reiteración en la búsqueda de soluciones a problemas ya conocidos y solucionados anteriormente.
- Formalizar un vocabulario común entre diseñadores.
- Estandarizar el modo en que se realiza el diseño.
- Facilitar el aprendizaje de las nuevas generaciones de diseñadores condensando conocimiento ya existente.
Tipo: Creacional
Patron:
Abstract Factory (Fábrica abstracta): Permite trabajar con objetos de distintas familias de manera que las familias no se mezclen entre sí y haciendo transparente el tipo de familia concreta que se esté usando.
Problema: Debemos crear diferentes objetos, todos pertenecientes a la misma familia.
Aplicacion: Lo que intenta solucionar este patrón es el de crear diferentes familias de objetos.
Segundo patron:
Tipo: Estructural
Patron:
Decorator (Envoltorio): Añade funcionalidad a una clase dinámicamente.
Problema:
Supongamos que tenemos una clase existente Ventana y queremos añadirle funcionalidad para que muestre un borde alrededor. Podemos crear una subclase VentanaConBorde que herede de Ventana, pero supongamos que surge la necesidad de crear una ventana que muestre un pequeño botón de ayuda con un signo de interrogación (?) en su parte superior. Entonces tenemos las siguientes opciones:
- Crear otra subclase de Ventana: VentanaConBotónDeAyuda.
- Crear una subclase de VentanaConBorde: VentanaConBordeYBotonDeAyuda.
- Crear clases para todas las combinaciones posibles de funcionalidades.
Aplicacion:
Este patron nos permite no tener que crear sucesivas clases que hereden de la primera incorporando la nueva funcionalidad, sino otras que la implementan y se asocian a la primera.
Fuentes:
http://es.wikipedia.org/wiki/Patr%C3%B3n_de_dise%C3%B1o
No hay comentarios:
Publicar un comentario