patron de diseño proxy

8
PROXY INTEGRANTES: JOSÉ ÁNGEL TORRES PIÑA ADRIANA ZAMARRIPA GALLEGOS MARÍA CRISTINA GARCÍA LÓPEZ MARISOL CRUZ SALIVAR CESAR MARTIN GONZÁLEZ DUEÑAS PATRON DE DISEÑO

Upload: martin-zlzuo

Post on 19-Jun-2015

2.218 views

Category:

Technology


1 download

DESCRIPTION

Aspectos fundamentales del patrón de diseño proxy

TRANSCRIPT

  • 1. PATRON DE DISEO PROXYINTEGRANTES: JOS NGEL TORRES PIA ADRIANA ZAMARRIPA GALLEGOS MARA CRISTINA GARCA LPEZMARISOL CRUZ SALIVARCESAR MARTIN GONZLEZ DUEAS

2. INTRODUCCIONClasificacin: EstructuralIntencin: Provee un sustituto de un objeto paracontrolar su acceso.Tambin conocido como Surrogate (sustituto).MotivoUna razn para controlar el acceso de un objeto espostergar el costo de su creacin hasta el momentoen que lo necesitemos. Considere un editor detexto, que ofrece la capacidad de embeber objetosgrficos en el documento. Algunas grficas necesitancargar imgenes pesadas, y por lo tanto es costosocrearlas. 3. Concepto Proxy es un patrn estructural que tiene comopropsitoproporcionar unsubrogado ointermediario de un objeto para controlar su acceso. Este patrn es ampliamente utilizado en frameworkscmo Hibernate o Spring AOP, permitiendo capturarlas llamadas a objetos POJO y permitiendo insertar enellas capacidades de persistencia para el caso deHibernate, u otro tipo de aspectos como gestin deseguridad o transacciones para Spring AOP. 4. A continuacin mostramos el diagrama de clases delpatrn Proxy:En este patrn se identifica una interfaz Subject, unobjeto RealSubject que es el objeto al que se accede atravs del Proxy. El objeto Proxy mantiene unareferencia al objeto RealSubject y controla el acceso a susmtodos, introduciendo las capacidades adicionales quefuesen necesarias. Tanto la clase RealSubject como laclase Proxy implementan la interfaz Subject 5. AplicabilidadProxy se utiliza siempre que se necesite utilizar unareferencia verstil a un objeto. A continuacin se describenalgunas situaciones comunes en las que se debe aplicar elpatrn proxy: Proxy remoto. Se desea representar un objeto remotocomolocal. Proxy virtual. Se desea crear objetos pesados pordemanda. Proxy protector. Se desea controlar el acceso a un objeto. Una referencia inteligente remplaza a un punto bsico deacceso para ejecutar cambios cuando un objeto esaccedido. 6. Caracteristicas Proporcionan soluciones concretas en la creacin deobjetos pesados Proporcionan soluciones tcnicas para la utilizacinde las carga de objetos de gran tamao. Se utilizan en situaciones frecuentes. Favorece la reutilizacin de cdigo . 7. Ventajas Mantiene una referencia que permite al proxy acceder al objeto real. Proporciona una interfaz igual que la del sujeto real. Controla el acceso al sujeto real, y puede ser responsable de crearlo y borrarlo.Otras responsabilidades, dependen del tipo de proxy: Proxy Remoto: codifican las peticiones, y se las mandan al sujeto. Proxy virtual: Puede guardar informacin adicional sobre elsujeto, pararetardar el acceso al mismo. Proxy de proteccin: comprueba Otra optimizacin: copy-on-write. Copiar un objeto grande puede ser costoso.Si la copia no se modifica, no hay necesidad de incurrir en dichogasto. El sujeto mantiene una cuenta de referencias, slo cuando se hace objeto ej : 75 Una operacin que modifica el objeto, se copia realmente (ej.: claseString del ejemplo de operadores C++). 8. Desventajas Introduce un nivel de induracin adicional, que tienemuchos posibles usos: Un proxy remoto puede ocultar el hecho de que unobjeto reside en otro espacio de direcciones. Unproxy virtualpuede realizaroptimizaciones, como crear objetos bajo demanda. Tanto los proxies de proteccin, como las referenciasinteligentespermitenrealizartareas demantenimiento adicionales cuando se accede a unobjeto.