0% encontró este documento útil (0 votos)
117 vistas16 páginas

Proxy

El documento describe el patrón de diseño Proxy. Proxy proporciona un representante o sustituto para otro objeto, controlando así el acceso. Existen varios tipos de proxy como proxy remoto, proxy virtual y proxy de protección. Un proxy tiene la misma interfaz que el objeto original y puede crear/destruir objetos, reenviar peticiones y controlar el acceso. Proxy permite optimizar recursos retrasando la creación de objetos costosos.

Cargado por

Jhon Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
117 vistas16 páginas

Proxy

El documento describe el patrón de diseño Proxy. Proxy proporciona un representante o sustituto para otro objeto, controlando así el acceso. Existen varios tipos de proxy como proxy remoto, proxy virtual y proxy de protección. Un proxy tiene la misma interfaz que el objeto original y puede crear/destruir objetos, reenviar peticiones y controlar el acceso. Proxy permite optimizar recursos retrasando la creación de objetos costosos.

Cargado por

Jhon Cruz
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

Universidad de la

AMAZONIA
PATRÓN DE DISEÑO
PROXY
Cristiam Arley Díaz Silva
Jhon Edinson Cruz Moreno
Programa de ingeniería de sistemas
Universidad de la Amazonia
Proxy
Provee un representante para controlar el acceso a otro objeto.

Otros nombres:
Surrogate (Sustituto)

(The Gang of Four, 2003)

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


INTENCIÓN
“Proporcionar un sustituto o intermediario para otro objeto de modo que
pueda controlarse el acceso que se tiene hacia él”.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


MOTIVACIÓN
• Proporciona soluciones concretas en la creación de objetos pesados.
• Proporciona soluciones técnicas para la utilización de las cargas de objetos
de gran tamaño.
• Controlar el acceso y otras características de un objeto original a través de
un sustituto o intermediario.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


APLICABILIDAD
Se necesita una forma más versátil o sofisticada de referencia a un objeto que
un simple puntero. Hay varios tipos de proxy:

Proxy remoto: Es un representante local para un objeto de otro proceso,


posiblemente en otra máquina. También se le denomina embajador.
Proxy virtual: Crea objetos costosos bajo demanda.
Proxy de protección: Controla el acceso al objeto original cuando hay distintos
niveles de acceso.
Referencia inteligente: Es un sustituto de un simple puntero que lleva a cabo
operaciones adicionales cuando se accede a un objeto.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


ESTRUCTURA

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


COMPORTAMIENTO

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


PARTICIPANTES
Cliente:
Interactúa con el Sujeto de manera independiente de si este es un sujeto real o
un sujeto proxy.
Sujeto:
• Define la interfaz común para el sujeto real y sujeto proxy.
Sujeto real:
• Define el objeto real al que el sujeto proxy representa.
Sujeto proxy :
• Representa a un objeto real y además mantiene una referencia para acceder
al sujeto real, controla el acceso y puede ser responsable de crearlo y
destruirlo.
• Tiene una interfaz idéntica a la del sujeto para que ambos sean
intercambiables.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


COLABORACIÓN
• El proxy reenvía las peticiones de los clientes al sujeto real cuando es
conveniente, dependiendo del tipo de proxy.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


CONSECUENCIAS
• El proxy remoto oculta espacios de direcciones diferentes
• El proxy virtual evita consumir recursos hasta que no es necesario
• El proxy de protección y los punteros inteligentes permiten realizar tareas
internas (recolección de basura, controlar accesos, etc.)
• Permite realizar una optimización cow.
.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


IMPLEMENTACIÓN
Al momento de implementar el método proxy, se debe tener en cuenta lo siguiente:

• El “proxy” es el encargado de crear y destruir los “sujetos Reales” cuando haga


falta.
• Para poder representar al “sujeto Real”, el “proxy” debe tener una interfaz
idéntica a la de “sujeto”.
• Un proxy remoto debe responsabilizarse de empaquetar y enviar las peticiones y
sus argumentos al objeto real.
• Un proxy virtual puede almacenar información adicional relativa al objeto para
posponer el acceso al mismo.
• Tanto un proxy de protección como una referencia “inteligente” comprueban los
permisos de acceso del cliente antes de pasar la petición al objeto.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


PROBLEMA
• Se requiere abrir un documento, para abrir se necesita verificar que el usuario
tenga permisos y luego, se debe verificar si el usuario se encuentra en la misma
pagina que la imagen para que no sea cargada innecesariamente en memoria.

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


PATRONES RELACIONADOS
• Adapter: Un adapter proporciona una interfaz diferente para el
objeto que adopta. Por el contrario, un proxy tiene la misma
interfaz que su objeto [1].

• Decorador: Si bien los decoradores pueden tener una


implementación parecida a los proxies, tienen un propósito
diferente. Un decorador añade una o mas responsabilidades a
un objeto, mientras que un proxy controla el acceso a un
objeto[1].

Ingeniería de sistemas – Cristian Diaz, Jhon Edinson


REFERENCIAS
[1] P. Proxy, “Patrones de Diseño,” vol. 9, 2008.
[2] “Creational Patterns.”
[3] “Patrones De Diseño - Libro Gamma.pdf.” .

Ingeniería de sistemas – Isabel Ramírez y Daniel Restrepo


Universidad de la
AMAZONIA

GRACIAS POR SU ATENCIÓN


TEST
Con el siguiente link podrás acceder al test acerca del patrón de diseño :
Proxy
https://kahoot.it/

Ingeniería de sistemas – Isabel Ramírez y Daniel Restrepo

También podría gustarte