Diferencia entre revisiones de «Proxy (patrón de diseño)»
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
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.