PDF de programación - Patrón estructural Proxy - Patrones de diseño

Imágen de pdf Patrón estructural Proxy - Patrones de diseño

Patrón estructural Proxy - Patrones de diseñográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 27 de Febrero del 2018)
661 visualizaciones desde el 27 de Febrero del 2018
44,7 KB
7 paginas
Creado hace 15a (11/05/2008)
Patrones de Diseño
Patrón estructural Proxy

Técnicas de Programación - Curso 2007/08

Proxy
Propósito
(cid:122) Proporcionar un representante o sustituto de otro objeto

para controlar el acceso a éste

Motivación
(cid:122) Retrasar el coste de crear e inicializar un objeto hasta
que es realmente necesario. Por ejemplo, no abrir las
imágenes de un documento hasta que no son visibles

(cid:122) Solución:

:TextDocument
image

:ImageProxy
fileName

en memoria

:Image
data

en disco

Proxy
Motivación

DocumentEditor

Image
- imageImp
- extent
draw()
getExtent()
store()
load()

Graphic
draw()
getExtent()
store()
load()

image

ImageProxy
- fileName
- extent
draw()
getExtent()
store()
load()

if (image==null)

image.draw();

image = loadImage(fileName);

if (image==null)
return extent;

else

return image.getExtent();

Proxy
Aplicabilidad
(cid:122) El patrón Proxy se usa cuando se necesita una referencia

a un objeto más flexible o sofisticada que un puntero.
Algunas situaciones comunes de aplicación son:

(cid:122) Proxy remoto: representa un objeto en otro espacio de direcciones

(cid:122) Proxy virtual: crea objetos costosos por encargo (como la clase

ImageProxy en el ejemplo de motivación)

(cid:122) Proxy de protección: controla el acceso a un objeto

(cid:122) Referencia inteligente: sustituto de un puntero que lleva a cabo
operaciones adicionales cuando se accede a un objeto (ej. contar el
número de referencias, cargar un objeto persistente en memoria,
bloquear el objeto para impedir acceso concurrente, ...)

Proxy
Estructura

Client

RealSubject
request()
...

Subject
request()
...

realSubject

Proxy

request()
...

...
realSubject.request();
...

Diagrama
de objetos

:Client
subject

:Proxy

realSubject

:RealSubject

(cid:122) Mantiene una referencia al objeto real
(cid:122) Proporciona una interfaz idéntica a la del objeto real
(cid:122) Controla el acceso al objeto real, y puede ser responsable de crearlo y

borrarlo

(cid:122) Otras responsabilidades dependen del tipo de proxy:

Proxy
Participantes
(cid:122) Proxy (ImageProxy):

(cid:122) Proxies remotos: codifican las peticiones, y las envían al objeto real
(cid:122) Proxies virtuales: pueden guardar información del objeto real (caché)
(cid:122) Proxies de protección: comprueban que el cliente tiene los permisos

necesarios para realizar la petición

(cid:122) Subject (Graphic): define una interfaz común para el proxy y el objeto

real, de tal modo que se puedan usar de manera indistinta

(cid:122) RealSubject (Image): clase del objeto real que el proxy representa

Proxy
Consecuencias
(cid:122) Introduce un nivel de indirección con diferentes usos:

(cid:122) Un proxy remoto puede ocultar el hecho de que un objeto reside en

(cid:122) Un proxy virtual puede realizar optimizaciones, como la creación de

otro espacio de direcciones

objetos bajo demanda

(cid:122) Los proxies de protección y las referencias inteligentes permiten

realizar tareas de mantenimiento adicionales al acceder a un objeto

(cid:122) Optimización copy-on-write

(cid:122) Copiar un objeto grande puede ser costoso
(cid:122) Si la copia no se modifica, no es necesario incurrir en dicho gasto
(cid:122) El sujeto mantiene un número de referencias, y sólo cuando se

realiza una operación que modifica el objeto, éste se copia
  • Links de descarga
http://lwp-l.com/pdf9074

Comentarios de: Patrón estructural Proxy - Patrones de diseño (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad