Diferencia entre revisiones de «Proxy (patrón de diseño)»

De Wikipedia, la enciclopedia libre
Contenido eliminado Contenido añadido
m Revertidos los cambios de 189.159.254.98 (disc.) a la última edición de 79.150.48.82
Línea 37: Línea 37:
[[uk:Замісник (шаблон проектування)]]
[[uk:Замісник (шаблон проектування)]]
[[zh:代理模式]]
[[zh:代理模式]]

* [http://www.proxys.name Proxy Online] - http://www.proxys.name

Revisión del 05:20 13 jul 2010

Diagrama de clases del patrón Proxy.

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 Sujeto del que heredan otros dos:SujetoReal y Proxy, todos ellos tienen un método petición(). El cliente llamaría al método petición() de Sujeto, el cual pasaría la petición a Proxy, que a su vez instanciaría SujetoReal y llamaría a su petición().

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