patron proxy

Páginas: 13 (3125 palabras) Publicado: 12 de noviembre de 2013
Patrón Proxy
El patrón Proxy tiene como objetivo el diseño de un objeto que sustituye a otro objeto (el sujeto) y que controla el acceso.
El objeto que realiza la sustitución posee la misma interfaz que el sujeto, volviendo la sustitución transparente de cara a los clientes.
Ejemplo
Queremos ofrecer para cada vehículo del catálogo la posibilidad de visualizar un pequeño video de presentacióndel vehículo. Un clic sobre la fotografía de la presentación del vehículo permitirá reproducir este vídeo.
Una página del catálogo contiene numerosos vehículos y es muy pesado guardar en la memoria todos los objetos de animación, pues los vídeos necesitan gran cantidad de memoria, y su transferencia a través de la red toma bastante tiempo.
El patrón Proxy ofrece una solución a este problemadifiriendo la creación de los sujetos hasta el momento en que el sistema tiene necesidad de ellos, en este caso tras un clic en la fotografía del vehículo.

Patrón Proxy
• Clasificación:
Estructural, debido a que nos indica cómo se organizan los objetos en memoria.
• Otros nombres:
Subrogado o subrogate.
• Propósito:
Proporcionar un subrogado o intermediario de un objeto paracontrolar su acceso. El intermediario (o subrogado) controla el acceso al objeto que estamos considerando.
• Motivación:
Problema:
En el contexto de un editor gráfico consideremos los objetos gráficos (imágenes) que puede haber dentro de un documento.
En general no todas las imágenes van a tener que cargarse cuando se abra el documento porque depende que zona estemos visualizando hará que semuestren o no.
ƒ La apertura del documento debería ser rápida y en general las imágenes suelen ser bastante pesadas, sobre todo si son de gran tamaño.
Solución:
Debido a que no es necesario crear todos los objetos con imágenes nada más abrir el documento porque no todas son visibles se puede hacer carga bajo demanda.
La implementación de la carga bajo demanda por parte del editor hace que estese complique, además la funcionalidad de carga bajo demanda puede ser requerida por diversos módulos.
Modificar la clase imagen para que esta sepa cuando tiene que cargarse en función de un estado interno tampoco parece una buena opción porque esta clase se puede usar en otras aplicaciones donde no se requiere la carga bajo demanda.
Crear una copia de la clase imagen y modificarla parapermitir la carga bajo demanda tampoco se considera un buen diseño porque implica tener código duplicado con todas las desventajas que esto conlleva.
Para evitar complicar el editor y dar al objeto imagen responsabilidades que no le incumben (añadir funcionalidad adicional a la clase imagen), se puede emplear un objeto proxy.
Este objeto se comportará como la imagen de cara al editor pero seráresponsable de la carga bajo demanda de la imagen. En el proxy se pude almacenar el nombre del fichero como una referencia al objeto real (suponiendo que la imagen está en disco).





El editor interactuará con el proxy, el cual delega en la imagen si no puede resolver la operación por si mismo y se encarga de realizar la carga bajo demanda.
Para que el editor no tenga conocimiento de laexistencia de proxies se crea una clase abstracta que proporciona los métodos de la imagen al editor, actuando como interfaz. Esta clase abstracta actuará como superclase del objeto proxy y del real.










ƒ La clase ImageProxy cuando puede resolver las operaciones por si misma las resuelve y proporciona el resultado (por ejemplo devolver la extensión o tamaño del fichero de laimagen), en caso de que se le requiera una operación que implique la carga de la imagen entonces la cargará en ese momento y delegará la operación correspondiente en el objeto imagen.
• Aplicabilidad:
Cuando exista una forma de referencia a un objeto más sofisticada que un simple puntero, como por ejemplo las siguientes:
Proxy remoto: El proxy representa en local a un objeto remoto.
Este tipo...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • patron de diseño proxy
  • Proxy
  • proxy
  • Que Es Un Proxy
  • proxy
  • Proxy
  • Proxy
  • Proxy

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS