Se le conoce también como Virtual Proxy, Surrogate o apoderado.
Intención
Es un sustituto de otro objeto, para controlar el acceso a él.
Aplicabilidad
Cuando es necesario una referencia a un objeto más sofisticada que el simple puntero o referencia a objeto.
- Proxy remoto, cuando el objeto está en otro espacio de memoria (proceso).
- Proxy virtual, para postergar la creación de objetos caros hasta el momento en que se necesitan.
- Proxy de protección, para controlar el acceso al objeto original.
- Referencias inteligentes, remplazan a una referencia o puntero para realizar alguna acción adicional.

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.
Consecuencias
- Control previo a un objeto.
- Se pueden realizar operaciones sobre el objeto de forma más eficiente/inteligente.
- Introduce un nivel de indirección al acceder a un objeto.
- El patrón Proxy se puede ver como un caso particular de Bridge:
Proxy se suele usar para controlar el acceso a su implementación, el Bridge permite cambiar una implementación dinámicamente.
- Adapter proporciona una interfaz diferente al objeto que adapta, pero el proxy tiene la misma interfaz.
- Decorador se puede implementar de manera similar al Proxy pero el propósito es diferente: el decorador añade responsabilidades a un objeto, el proxy sólo controla su acceso.
No hay comentarios:
Publicar un comentario