SlideShare a Scribd company logo
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

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)
finger10
 
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
Alfonso Triana
 
Patrones de diseño II
Patrones de diseño IIPatrones de diseño II
Patrones de diseño II
kaolong
 

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

tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
DianaSG6
 
Algebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdfAlgebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdf
frankysteven
 
PETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionPETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacion
ctrlc3
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
mesiassalazarpresent
 

Recently uploaded (20)

Trabajo Mecanismos de cuatro barras.pdf
Trabajo  Mecanismos de cuatro barras.pdfTrabajo  Mecanismos de cuatro barras.pdf
Trabajo Mecanismos de cuatro barras.pdf
 
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )DISEÑO DE LOSAS EN UNA DIRECCION  (CONCRETO ARMADO II )
DISEÑO DE LOSAS EN UNA DIRECCION (CONCRETO ARMADO II )
 
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptxtema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
tema-6.4-calculo-de-la-potencia-requerida-para-transporte-de-solidos-.pptx
 
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOSAnálisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
Análisis Combinatorio ,EJERCICIOS Y PROBLEMAS RESUELTOS
 
Presentación PISC Préstamos ISC Final.pdf
Presentación PISC Préstamos ISC Final.pdfPresentación PISC Préstamos ISC Final.pdf
Presentación PISC Préstamos ISC Final.pdf
 
Sistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdfSistemas de posicionamiento global (G.P.S.).pdf
Sistemas de posicionamiento global (G.P.S.).pdf
 
Algebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdfAlgebra, Trigonometria y Geometria Analitica.pdf
Algebra, Trigonometria y Geometria Analitica.pdf
 
Tasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las CondesTasaciones Ñuñoa - La Reina - Las Condes
Tasaciones Ñuñoa - La Reina - Las Condes
 
habilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdfhabilidad para el manejo de estación total.pdf
habilidad para el manejo de estación total.pdf
 
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
UNIVERSIDAD NACIONAL ALTIPLANO PUNO - FACULTAD DE INGENIERIA MECANICA ELECTRICA.
 
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagneticoPresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
PresentaciónReto_Equipo6 Explicacion del reto de freno electromagnetico
 
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdfSISTEMA ARTICULADO DE CUATRO BARRAS .pdf
SISTEMA ARTICULADO DE CUATRO BARRAS .pdf
 
Sistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdfSistema de 4 barras articuladas bb_2.pdf
Sistema de 4 barras articuladas bb_2.pdf
 
PETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacionPETROLEO triptico para estudiantes de educacion
PETROLEO triptico para estudiantes de educacion
 
Mecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continentalMecánica de fluidos 1 universidad continental
Mecánica de fluidos 1 universidad continental
 
Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!Mecanismo de cuatro barras articuladas!!
Mecanismo de cuatro barras articuladas!!
 
problemas consolidación Mecánica de suelos
problemas consolidación Mecánica de suelosproblemas consolidación Mecánica de suelos
problemas consolidación Mecánica de suelos
 
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA  PPTCONTROL DE MOTORES DE CORRIENTE ALTERNA  PPT
CONTROL DE MOTORES DE CORRIENTE ALTERNA PPT
 
DESVIACION
DESVIACION DESVIACION
DESVIACION
 
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuariaBOTAnica mesias orland role.pptx1 ciclo agropecuaria
BOTAnica mesias orland role.pptx1 ciclo agropecuaria
 

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.