informe patron proxy

9

Click here to load reader

Upload: cams21

Post on 09-Jul-2015

276 views

Category:

Education


0 download

DESCRIPTION

Informe Grupal Proxy

TRANSCRIPT

Page 1: Informe patron proxy

UNIVERSIDAD NACIONAL DE TRUJILLO

FACULTAD DE CIENCIAS FISICAS Y MATEMATICAS

ESCUELA ACADEMICO PROFESIONAL DE INFORMÁTICA

TEMA: PATRON PROXY

TOPICOS ESPECIALES EN INGENIERIA DE SOFTWARE

INTEGRANTES: - Mendoza Simbal Carlos

- Ascate Vera Wilmer

Page 2: Informe patron proxy

INDICE

DEDICATORIA………………………………………………………………………………………………………………… 3

I. INTRODUCCION………………………………………………………………………………………….. 4

II. MARCO TEORICO………………………………………………………………………………………… 5

2.1. Nombre: Patrón Proxy……………………………………………………………………..…… 5

2.2. Propósito o finalidad…………………………………………………………………………….. 5

2.3. Sinónimos………………………………………………………………………………………….… 5

2.4. Motivación……………………………………………………………………………………………. 5

2.5. Aplicabilidad…………………………………………………………………………………………. 6

2.6. Estructura…………………………………………………………………………………………….. 6

2.7. Consecuencias………………………………………………………………………………………. 7

2.8. Patrones con los que se relaciona…………………………………………………………. 7

2.9. Ejemplos de Aplicación…………………………………………………………………………. 7

2.10. Caso…………………………………………………………………………………………… 8

III. CONCLUSIONES…………………………………………………………………………………………… 9

IV. BIBLIOGRAFIA…..…………………………………………………………………………………………. 9

Page 3: Informe patron proxy

DEDICATORIA

A nuestros padres y hermanos, por confiar en nosotros,

por sus consejos, paciencia y apoyo constante a,

o lo largo de nuestras vidas, que con su esfuerzo y

sacrificio nos ayudaron a llegar a esta etapa y

convertirnos en unos profesionales.

MENDOZA SIMBAL CARLOS

ASCATE VERA WILMER

Page 4: Informe patron proxy

I. INTRODUCCIÓN.

El presente documento aborda uno de los patrones estructurales del grupo de los cuatro

(GOF), el patrón Proxy, el cual según Erich Gamma su propósito es proporcionar un

sustituto de un determinado objeto para controlar el acceso a dicho objeto.

También esta investigación presenta la problemática a la cual es aplicable y la solución

que propone el patrón estructural Proxy incluyendo diagramas de clases y abordamos la

responsabilidad que este debe de realizar. Asimismo se muestra el código de ejemplo

implementando el patrón estructural.

Page 5: Informe patron proxy

II. MARCO TEORICO

2.1. Nombre: Patrón Proxy

Se requiere que las llamadas a métodos de un objeto ocurran indirectamente a través

de un objeto sustituto del objeto original, delegando luego las llamadas a los métodos

de los objetos respectivos.

El objeto proxy, comparte la misma interfaz o superclase que el objeto delegado.

2.2. Propósito o finalidad:

Proporciona un representante o sustituto de otro objeto para controlar el acceso a

este.

2.3. Sinónimos:

El patrón Proxy también se le conoce con el nombre de Surrogate(sustituto).

2.4. Motivación:

Una razón para controlar el acceso a un objeto es retrasar todo el costo de su creación

e inicialización hasta que sea realmente necesario usarlo. Pensemos en un editor de

documentos que puede insertar objetos gráficos en un documento.

Algunos de estos objetos gráficos, como grandes imágenes raster, pueden ser costosos

de crear. Sin embargo abrir un documento debería ser una operación que se efectuase

rápidamente, por lo que debería evitar crear todos los objetos costosos a la vez en

cuanto se abra el documento. Por otro lado, tampoco es necesario, ya que no todos

esos objetos serán visibles al documento al mismo tiempo.

Page 6: Informe patron proxy

2.5. Aplicabilidad

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:

Proxy remoto: representa un objeto en otro espacio de direcciones

Proxy virtual: crea objetos costosos por encargo (como la clase ImageProxy en el

ejemplo de motivación)

Proxy de protección: controla el acceso a un objeto

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, ...)

2.6. Estructura

Page 7: Informe patron proxy

2.7. Consecuencia

Introduce un nivel de indirección con diferentes usos:

Un proxy remoto puede ocultar el hecho de que un objeto reside en otro

espacio de direcciones

Un proxy virtual puede realizar optimizaciones, como la creación de objetos

bajo demanda

Los proxies de protección y las referencias inteligentes permiten realizar

tareas de mantenimiento adicionales al acceder a un objeto.

Optimización copy-on-write

Copiar un objeto grande puede ser costoso

Si la copia no se modifica, no es necesario incurrir en dicho gasto

El sujeto mantiene un número de referencias, y sólo cuando se

Realiza una operación que modifica el objeto, éste se copia

2.8. Patrones con los que se relaciona

- Adapter: provee una interfaz adicional al objeto que adapta, en contraste proxy

Ofrece la misma interfaz a un objeto.

- Decorator: puede tener una implementación parecida a Proxy, pero la intención de

decorator es agregar responsabilidades a un objeto, y la de proxy es controlar el

acceso de este.

2.9. Ejemplos de Aplicación

• Añadir acceso de seguridad a un objeto existente. El proxy determinará si el cliente

puede acceder al objeto de interés (proxy de protección).

• Proporcionando interfaz de recursos remotos como el servicio web o recursos REST.

• Coordinación de las operaciones costosas en recursos remotos pidiendo los

recursos a distancia para iniciar la operación tan pronto como sea posible antes de

acceder a los recursos.

Page 8: Informe patron proxy

• Agregar una operación segura para los subprocesos a una clase existente sin

cambiar el código de la clase existente.

2.10. Caso

Vamos a realizar un ejemplo de un proxy remoto: la finalidad es que nuestra aplicació

guarde datos en un servidor remoto, pero vamos a impedir se la aplicación se conecte

todo el tiempo, sino que aproveche a guardar todo cuando se encuentre conectada.

Caso contrario guardará en el disco duro local la información hasta que sea el

momento adecuado.

Hasta ahora tenemos 2 formas de guardar: en el disco y en el objeto remoto que

necesita conexión. Ambas formas implementan IGuardar. Vamos a crear un sencillo

proxy para que se fije si en ese momento hay conexión para aprovecharla y si no hay

conexión que guarde los datos en el disco momentáneamente.

Page 9: Informe patron proxy

III. CONCLUSIONES

Con el estudio del patrón Proxy hemos concluido que:

1. Se debe implementar el patrón proxy cuando haya objetos que tomen

mucho tiempo en cargarse, por ejemplo cargar una imagen que consume

demasiada memoria.

2. El patrón Proxy proporciona un representante o sustituto de otro objeto para

controlar el acceso a éste.

V. BIBLIOGRAFIA

. http://userpages.umbc.edu/~tarr/dp/lectures/Proxy-2pp.pdf

. http://antares.itmorelia.edu.mx/~jcolivares/courses/dp07a/patrones.pdf

. C. Larman, “UML y Patrones”, Segunda edición, Pearson Prentice Hall, España, 2003,

ISBN: 84-205-3438-2, pp. 624.