Académique Documents
Professionnel Documents
Culture Documents
Algunos Patrones.
Vamos a ver algunos de los principales patrones de diseo, daremos una
pequea descripcin en torno al problema y la solucin................mas
adelante realizaremos algunos ejemplos de aplicacin.
Observer
Es un patrn de comportamiento permite actualizar automticamente el
estado de un objeto dependiendo del estado de un objeto principal,
cuando el objeto principal cambia sus objetos dependientes se
actualizan.
Problema
:
Cuando
tenemos
una
dependencia de 1 a muchos entre objetos, y se espera que cuando el
estado de un objeto cambie, todos los objetos dependientes de este
tambin cambien de forma automtica, por ejemplo se tiene una
aplicacin de venta de productos administrada por diferentes
vendedores con diferentes aplicativos (web, escritorio, mvil), se espera
que cada vez que cambie la cantidad de productos disponibles, la
aplicacin de cada vendedor automticamente actualic el modulo de
ventas con los nuevos valores sin necesidad de recargar la pgina o
actualizar manualmente el sistema para que muestre los cambios.
Solucin: Se aplica el patrn observador para desacoplar la clase que
contenga objetos dependientes, estableciendo relaciones entre los
objetos, para esto se tiene una clase SujetoConcreto que sera el
objeto principal y tendremos los objetos cliente o dependientes que
serian de clase ObservadorConcreto, cuando el estado del
SujetoConcreto cambia, se enva una seal a cada uno de sus
Observadores y estos automaticamente cambian su estado basados en
el estado del objeto principal.
Delegate.
Permite extender y reutilizar la funcionalidad de una clase sin utilizar el
mecanismo de herencia.
Abstract Factory
Representa una fabrica de objetos, permitiendo la construccin de
familias de objetos, es decir tipos de objetos con el mismo enfoque o
relaciones.
Problema : Se requiere la creacin de diferentes grupos de objetos, sin
que se especifique la forma de hacerse, el cliente (la clase que ejecute
el evento de creacin) que solicite el objeto no necesita saber como se
crear, este proceso deber ser transparente para el, el cliente solo
requiere una instancia de alguno de los grupos de objetos disponibles.
Singleton
Permite la creacin de una nica instancia de clase permitiendo que sea
global para toda la aplicacin.
Decorator
Este patrn permite agregar funcionalidades o responsabilidades a
objetos de forma transparente y dinmica, sin ser dependiente de la
herencia en su totalidad.
Problema:Cuando
se
quiere adherir responsabilidades o comportamientos especficos a un
objeto pero de forma dinmica, es decir, permitiendo al usuario aplicar
el comportamiento que desea, extendiendo funcionalidades de otras
clases sin estar obligado a hacerlo mediante la herencia.
Solucin: Se utiliza el patrn Decorator para adherir funcionalidades a
un objeto implementando y creando relaciones con otras clases para
incorporar dichas funcionalidades de forma dinmica, por ejemplo si
tenemos una clase ventana, podemos usar el patrn para adherir otros
comportamientos como por ejemplo darle estilos a la ventana,
diferentes colores, bordes, tamao, marco, entre otros componentes
que deseamos vincular, los cuales se encuentran en diferentes clases.
Adapter.