martes, 8 de junio de 2010

Proxy (patrón de diseño)


El patrón Proxy se utiliza como intermediario para acceder a un objeto, permitiendo controlar el acceso a él.

Problema que soluciona
Necesitamos crear objetos que consumen muchos recursos, pero no queremos instanciarlos a no ser que el cliente lo solicite o se cumplan otras condiciones determinadas.

Participantes y Relaciones
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.

Implementación
Tenemos un objeto padre Asunto del que heredan otros dos:AsuntoReal y Proxy, todos ellos tienen un método petición(). El cliente llamaría al método petición() de Asunto, el cual pasaría la petición a Proxy, que a su vez instanciaría AsuntoReal y llamaría a su petición().

Esto nos permite controlar las peticiones a AsuntoReal mediante el Proxy, por ejemplo instanciando AsuntoReal cuando sea necesario y eliminándolo cuando deje de serlo.



Proxy (patrón de diseño) - Wikipedia, la enciclopedia libre

No hay comentarios: