patrones de diseño proxy
TRANSCRIPT
Arquitectura de Aplicaciones
Guevara Diego
Ojeda Freddy
Patrones
Apoderado Proxy
El patrón Proxy
Consiste en interponer un intermediario (Proxy) entre unobjeto y los demás que lo utilizan.
Se suele utilizar para implementar comportamientos "vagos“.Por ejemplo, si tenemos muchos objetos imagen en undocumento, se tardaría mucho tiempo en abrir el documentoal cargar las imágenes de disco. Para evitarlo podemossustituir los objetos imagen por objetos proxyImagen, con lamisma interfaz, pero que solamente cargan la imagen cuandose va a visualizar. Es decir se plantea para ello la carga delas imágenes bajo demanda. Pero, ¿cómo cargar lasimágenes bajo demanda sin complicar el resto deleditor? La respuesta es utilizar un objeto proxy. Dicho objetose comporta como una imagen normal y es el responsable decargar la imagen bajo demanda
Diagrama de clases del patrón Proxy:
• La interfaz Subject, un objeto RealSubject que es el objeto al quese accede a través del Proxy. El objeto Proxy mantiene unareferencia al objeto RealSubject y controla el acceso a susmétodos, introduciendo las capacidades adicionales que fuesennecesarias. Tanto la clase RealSubject como la clase Proxyimplementan la interfaz Subject
Características
Debemos insistir en dos aspectos quecaracterizan el patrón Proxy:– El objeto Proxy tiene el mismo interfaz que el
objeto “Real". Para facilitar esto se puedederivar el objeto Proxy de la misma clase padreque el objeto “Real", pero no es absolutamentenecesario.
– El objeto “Real" solamente puede sermanipulado por su correspondiente Proxy.
Ejemplo de aplicación
• Un ejemplo típico de aplicación del patrón
proxy es el de un editor de documentos. El
editor podrá incluir imágenes y dibujos
complejos, y se plantea el problema de
recuperar todos estos costosos objetos
cada vez que se abre el documento. La
aplicación del patrón proxy soluciona el
problema definiendo un "representante",
que ocupe su lugar, hasta que sea
necesario cargarlos.
Referencias
• es.wikipedia.org/wiki/Proxy_(patrón_de_diseño)
• http://tratandodeentenderlo.blogspot.com/2010_08_01_archive.html
• http://www.ciberaula.com/articulo/patron_proxy/