Está en la página 1de 16

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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
Edinson
ESTRUCTURA

Ingeniería
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
Edinson
COMPORTAMIENTO

Ingeniería
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Cristian
Cristian Diaz,
Diaz, Jhon
Jhon Edinson
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
Ingeniería de
de sistemas
sistemas –– Isabel Ramírez yy Daniel
Isabel Ramírez Daniel Restrepo
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
Ingeniería de
de sistemas
sistemas –– Isabel Ramírez yy Daniel
Isabel Ramírez Daniel Restrepo
Restrepo

También podría gustarte