informe patron proxy
DESCRIPTION
Informe Grupal ProxyTRANSCRIPT
![Page 1: Informe patron proxy](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/1.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/2.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/3.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/4.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/5.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/6.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/7.jpg)
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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/8.jpg)
• 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](https://reader038.vdocumento.com/reader038/viewer/2022100605/559dc1cc1a28ab7f3e8b464d/html5/thumbnails/9.jpg)
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.