Proxy (Patrón de Diseño)

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:

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).