SlideShare a Scribd company logo
1 of 19
Download to read offline
Patrones Proxy y
Observer
Preparado por:
Sebastián González Méndez
Mauricio Umaña Rodríguez
Carlos Coronel Murillo
PatrónProxy
Proxy (Sustituto)
Propósito
Proporcionar un sustituto de un objeto para controlar el
acceso a dicho objeto.
Motivación
Diferir el coste de crear un objeto hasta que sea necesario
usarlo: creación bajo demanda.
Un editor de documentos que incluyen objetos gráficos.
¿Cómo ocultamos que una imagen se creará cuando se
necesite? Manejar el documento requiere conocer
información sobre la imagen.
3
Proxy
• Motivación
o Hay situaciones en las que un cliente no referencia o no
puede referenciar a un objeto directamente, pero necesita
interactuar con él.
o Un objeto proxy puede actuar como intermediario entre el
objeto cliente y el objeto destino.
o El objeto proxy tiene la misma interfaz como el objeto
destino.
o El objeto proxy mantiene una referencia al objeto destino y
puede pasarle a él los mensajes recibidos (delegación).
4
Proxy
• Motivación
o Retrasar la operación de una clonación de una tabla hasta
conocer que es realmente necesaria. Se desea clonar la tabla
para evitar mantener un bloqueo un largo período de tiempo,
lo cual es una operación costosa. Se puede crear una clase
que encapsule la tabla y sólo clone cuando sea necesario.
o Mantenimiento de los servicios ante los fallos.
5
Proxy
6
Estructura
Básica
Proxy
O Aplicabilidad
O Siempre que hay necesidad de referenciar a un objeto
mediante una referencia más rica que un puntero o una
referencia normal.
O Situaciones comunes:
1. Proxy acceso remoto (acceso a un objeto en otro espacio de
direcciones)
2. Proxy virtual (crea objetos grandes bajo demanda)
3. Proxy para protección (controlar acceso a un objeto)
4. Referencia inteligente (smart reference, proporciona
operaciones adicionales)
7
Participantes en estructura Proxy
8
 La clase Proxy: mantiene una referencia al objeto real y
proporciona una interfaz idéntica al sujeto. Además controla
el acceso a dicho objeto real y puede ser el responsable de
su creación y borrado.
 La clase Sujeto: define una interfaz común para el proxy y el
objeto real, de tal modo que se puedan usar de manera
indistinta.
 La clase Sujeto Real: clase del objeto real que el proxy
representa.
Proxy
O Consecuencias
∆ Introduce un nivel de dirección para:
1. Un proxy remoto oculta el hecho que objetos residen en
diferentes espacios de direcciones.
2. Un proxy virtual tales como crear o copiar un objeto bajo
demanda.
3. Un proxy para protección o las referencias inteligentes
permiten realizar tareas de control sobre los objetos
accedidos.
9
Implementación Proxy
10
Patrón Observer
Propósito
Definir una dependencia entre objetos de uno a muchos de
modo que cuando un objeto cambia su estado todos sus
dependientes son notificados y actualizados
automáticamente.
Aplicabilidad
 Cuando se desea que la aplicacion a ser implementada se
requieretenga un objeto que sea observado por uno o varios
objetos diferentes.
Ejemplo: una Subasta. En la que de ser un aplicativo
requeriria de objetos clientes (clientes de la subasta), los cuales
son los objetos que observan y el objeto subastador (subastador) el
cual seria el objeto observado y del cual se desea conocer siempre
sus cambios.
Estructura
Participantes en estructura Observer
1) Observador (Observer) : <<Interface>>
Define el método que usa el sujeto para notificar cambios en su estado.
2) ObservadorConcreto (ConcreteObserver) : Objeto
Mantiene una referencia al sujeto concreto e implementa el observador.
3) Sujeto (Subject) : <<Interface>>
Agrega y elimina observadores. El Sujeto conoce a todos sus observadores.
4) SujetoConcreto (ConcreteSubject) : Objeto
Mantiene el estado de interés para los observadores concretos.
Los notifica cuando cambia su estado.
Observer
Ventaja:
Abstrae el acoplamiento entre el sujeto y el observador, lo cual es
beneficioso ya que conseguimos una mayor independencia.
Desventaja:
Con el uso de este patrón ocurre que vamos a desconocer las
consecuencias de una actualización, lo cual dependiendo del
problema puede afectar al rendimiento.
Consecuencias
O Riesgo de ralentización.( Disminución de la velocidad de respuesta
del sistema). Esto debido a la cadena de notificaciones.
O Los ciclos de notificaciones tanto del objeto observable como los
objetos observadores al producir y reproducir cadenas de
notificaciones, puede ocasionar una disminución en la memoria del
sistema o inclusive un agotamiento de la misma. (Stack OverFlow)
O Ciclos infinitos.
Implementación
MUCHAS GRACIAS.

More Related Content

Similar to Proxy observer patrones

Similar to Proxy observer patrones (20)

Patron de diseño proxy
Patron de diseño proxyPatron de diseño proxy
Patron de diseño proxy
 
Patrones proxy
Patrones proxyPatrones proxy
Patrones proxy
 
Informe patron proxy
Informe patron proxyInforme patron proxy
Informe patron proxy
 
Patron observador
Patron observadorPatron observador
Patron observador
 
Observer: Patrón de diseño
Observer: Patrón de diseñoObserver: Patrón de diseño
Observer: Patrón de diseño
 
Observer
ObserverObserver
Observer
 
Monografia patrones de diseño proxy (3.0)
Monografia   patrones de diseño proxy (3.0)Monografia   patrones de diseño proxy (3.0)
Monografia patrones de diseño proxy (3.0)
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de Diseño de Software: Proxy
Patrones de Diseño de Software: ProxyPatrones de Diseño de Software: Proxy
Patrones de Diseño de Software: Proxy
 
Base de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacionBase de datos orientada a objetos vs base obje to relacion
Base de datos orientada a objetos vs base obje to relacion
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
 
Observer design pattern
Observer design patternObserver design pattern
Observer design pattern
 
Observer design pattern
Observer design patternObserver design pattern
Observer design pattern
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
MODELADO.docx
MODELADO.docxMODELADO.docx
MODELADO.docx
 
Patrones
PatronesPatrones
Patrones
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Unidad 2. Tópicos de base de datos
Unidad 2. Tópicos de base de datosUnidad 2. Tópicos de base de datos
Unidad 2. Tópicos de base de datos
 

Recently uploaded

Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potableFabricioMogroMantill
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxjhorbycoralsanchez
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.pptjacnuevarisaralda22
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cerealescarlosjuliogermanari1
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOalejandrocrisostomo2
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxQualityAdviceService
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxcarlosEspaaGarcia
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptNombre Apellidos
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheJuan Luis Menares
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.davidtonconi
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfELIZABETHCRUZVALENCI
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanaArnolVillalobos
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfrefrielectriccarlyz
 
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxMantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxJasserGonzalez2
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhFoxy963
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALEdwinC23
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbantoniolfdez2006
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheElisaLen4
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfLimbergleoMamaniIsit
 

Recently uploaded (20)

422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx422382393-Curso-de-Tableros-Electricos.pptx
422382393-Curso-de-Tableros-Electricos.pptx
 
Presentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potablePresentación de Redes de alcantarillado y agua potable
Presentación de Redes de alcantarillado y agua potable
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
Cereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. CerealesCereales tecnología de los alimentos. Cereales
Cereales tecnología de los alimentos. Cereales
 
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICOATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
ATS-FORMATOa.pdf PARA MANTENIMIENTO MECANICO
 
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptxdokumen.tips_311-determinacion-del-espacio-estatico.pptx
dokumen.tips_311-determinacion-del-espacio-estatico.pptx
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.pptTippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
Tippens fisica 7eDIAPOSITIVAS TIPENS Tippens_fisica_7e_diapositivas_33.ppt
 
Arquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo LimacheArquitecto cambio de uso de suelo Limache
Arquitecto cambio de uso de suelo Limache
 
5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.5. MATERIALES petreos para concreto.pdf.
5. MATERIALES petreos para concreto.pdf.
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
docsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbanadocsity-manzaneo-y-lotizacion para habilitacopm urbana
docsity-manzaneo-y-lotizacion para habilitacopm urbana
 
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdfUC Fundamentos de tuberías en equipos de refrigeración m.pdf
UC Fundamentos de tuberías en equipos de refrigeración m.pdf
 
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptxMantenimiento-de-Transformadores-Monofasicos[1].pptx
Mantenimiento-de-Transformadores-Monofasicos[1].pptx
 
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuhSistema de alumbrado.pptx fjhhgghrhgghhuughuh
Sistema de alumbrado.pptx fjhhgghrhgghhuughuh
 
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONALSESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
SESION 11 SUPERVISOR SSOMA SEGURIDAD Y SALUD OCUPACIONAL
 
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbbTema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
Tema ilustrado 9.2.docxbbbbbbbbbbbbbbbbbbb
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
Trabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdfTrabajos Preliminares en Obras de Construcción..pdf
Trabajos Preliminares en Obras de Construcción..pdf
 

Proxy observer patrones

  • 1. Patrones Proxy y Observer Preparado por: Sebastián González Méndez Mauricio Umaña Rodríguez Carlos Coronel Murillo
  • 3. Proxy (Sustituto) Propósito Proporcionar un sustituto de un objeto para controlar el acceso a dicho objeto. Motivación Diferir el coste de crear un objeto hasta que sea necesario usarlo: creación bajo demanda. Un editor de documentos que incluyen objetos gráficos. ¿Cómo ocultamos que una imagen se creará cuando se necesite? Manejar el documento requiere conocer información sobre la imagen. 3
  • 4. Proxy • Motivación o Hay situaciones en las que un cliente no referencia o no puede referenciar a un objeto directamente, pero necesita interactuar con él. o Un objeto proxy puede actuar como intermediario entre el objeto cliente y el objeto destino. o El objeto proxy tiene la misma interfaz como el objeto destino. o El objeto proxy mantiene una referencia al objeto destino y puede pasarle a él los mensajes recibidos (delegación). 4
  • 5. Proxy • Motivación o Retrasar la operación de una clonación de una tabla hasta conocer que es realmente necesaria. Se desea clonar la tabla para evitar mantener un bloqueo un largo período de tiempo, lo cual es una operación costosa. Se puede crear una clase que encapsule la tabla y sólo clone cuando sea necesario. o Mantenimiento de los servicios ante los fallos. 5
  • 7. Proxy O Aplicabilidad O Siempre que hay necesidad de referenciar a un objeto mediante una referencia más rica que un puntero o una referencia normal. O Situaciones comunes: 1. Proxy acceso remoto (acceso a un objeto en otro espacio de direcciones) 2. Proxy virtual (crea objetos grandes bajo demanda) 3. Proxy para protección (controlar acceso a un objeto) 4. Referencia inteligente (smart reference, proporciona operaciones adicionales) 7
  • 8. Participantes en estructura Proxy 8  La clase Proxy: mantiene una referencia al objeto real y proporciona una interfaz idéntica al sujeto. Además controla el acceso a dicho objeto real y puede ser el responsable de su creación y borrado.  La clase Sujeto: define una interfaz común para el proxy y el objeto real, de tal modo que se puedan usar de manera indistinta.  La clase Sujeto Real: clase del objeto real que el proxy representa.
  • 9. Proxy O Consecuencias ∆ Introduce un nivel de dirección para: 1. Un proxy remoto oculta el hecho que objetos residen en diferentes espacios de direcciones. 2. Un proxy virtual tales como crear o copiar un objeto bajo demanda. 3. Un proxy para protección o las referencias inteligentes permiten realizar tareas de control sobre los objetos accedidos. 9
  • 12. Propósito Definir una dependencia entre objetos de uno a muchos de modo que cuando un objeto cambia su estado todos sus dependientes son notificados y actualizados automáticamente.
  • 13. Aplicabilidad  Cuando se desea que la aplicacion a ser implementada se requieretenga un objeto que sea observado por uno o varios objetos diferentes. Ejemplo: una Subasta. En la que de ser un aplicativo requeriria de objetos clientes (clientes de la subasta), los cuales son los objetos que observan y el objeto subastador (subastador) el cual seria el objeto observado y del cual se desea conocer siempre sus cambios.
  • 15. Participantes en estructura Observer 1) Observador (Observer) : <<Interface>> Define el método que usa el sujeto para notificar cambios en su estado. 2) ObservadorConcreto (ConcreteObserver) : Objeto Mantiene una referencia al sujeto concreto e implementa el observador. 3) Sujeto (Subject) : <<Interface>> Agrega y elimina observadores. El Sujeto conoce a todos sus observadores. 4) SujetoConcreto (ConcreteSubject) : Objeto Mantiene el estado de interés para los observadores concretos. Los notifica cuando cambia su estado.
  • 16. Observer Ventaja: Abstrae el acoplamiento entre el sujeto y el observador, lo cual es beneficioso ya que conseguimos una mayor independencia. Desventaja: Con el uso de este patrón ocurre que vamos a desconocer las consecuencias de una actualización, lo cual dependiendo del problema puede afectar al rendimiento.
  • 17. Consecuencias O Riesgo de ralentización.( Disminución de la velocidad de respuesta del sistema). Esto debido a la cadena de notificaciones. O Los ciclos de notificaciones tanto del objeto observable como los objetos observadores al producir y reproducir cadenas de notificaciones, puede ocasionar una disminución en la memoria del sistema o inclusive un agotamiento de la misma. (Stack OverFlow) O Ciclos infinitos.