Proxy (Patrón de Diseño)
-
Upload
jorge-ivan-gallo-gomez -
Category
Documents
-
view
231 -
download
0
Transcript of Proxy (Patrón de Diseño)
7/23/2019 Proxy (Patrón de Diseño)
http://slidepdf.com/reader/full/proxy-patron-de-diseno 1/3
UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA
INGENIERIA DEL SOFTWARE II
Jorge Iván Gallo Gómez
PROXY (PATRON DE DISEÑO)
El patrón de diseño Proxy hace que los clientes de un componente se comuniquen
con un representante en lugar del componente en sí. La introducción de este
representante permite:
– Ampliar la eficiencia.
– Facilitar el acceso.
– Proteger el recurso de acceso no autorizado.
Tipo:
Estructural, a nivel de objetos.
Motivación:
Retrasar el coste de crear e inicializar un objeto hasta que es realmente necesario.
Por ejemplo, no abrir las imágenes de un documento hasta que no son visibles.
Puede haber ocasiones en que se desee posponer el coste de la creación de un
objeto hasta que sea necesario usarlo. El objeto Proxy actúa en lugar del
verdadero objeto, ofrece la misma interfaz, y la solicita en el objeto cuando es
necesario.
Solución:
Permita que el cliente se comunique con un representante en lugar de con el
componente en sí. Este representante, denominado proxy, ofrece la interfaz del
componente y adicionalmente ejecuta pre y post procesamiento tales como control
de acceso o copias de solo lectura del original.
El diagrama UML que ofrece la solución contiene:
7/23/2019 Proxy (Patrón de Diseño)
http://slidepdf.com/reader/full/proxy-patron-de-diseno 2/3
Subject: interfaz o clase abstracta que proporciona un acceso común al
objeto real y su representante (proxy).
Proxy: mantiene una referencia al objeto real. Controla la creación y
acceso a las operaciones del objeto real.
RealSubject: define el objeto real representado por el Proxy.
Cliente: solicita el servicio a través del Proxy y es éste quién se comunica
con el RealSubject.
Aplicabilidad
El patrón Proxy se usa cuando se necesita una referencia a un objeto más flexibleo sofisticado que un puntero.
Algunas situaciones comunes de aplicación son:
Proxy remoto: un proxy remoto se comporta como un representante local
de un objeto remoto. Se encarga principalmente de abstraer la
comunicación entre el cliente y un objeto remoto.
Proxy virtual: se encarga de instanciar objetos cuyo coste computacional
es elevado. Es capaz de sustituir al objeto real durante el tiempo que el
verdadero objeto está siendo construido. Proxy de protección: controla el acceso a un objeto.
Referencia inteligente: sustituto de un puntero que lleva a cabo
operaciones adicionales cuando se accede a un objeto (ej. contar el número
de referencias, cargar un objeto persistente en memoria).
7/23/2019 Proxy (Patrón de Diseño)
http://slidepdf.com/reader/full/proxy-patron-de-diseno 3/3
REFERENCIAS:
- http://svnmisycguillo.googlecode.com/svn/trunk/_MISyC/Dise%C3%B1o%20de%20Sw/TallerPatrones/Presentaciones%20Patrones/proxy2.pdf
- http://arantxa.ii.uam.es/~eguerra/docencia/0708/11%20Proxy.pdf