SlideShare una empresa de Scribd logo
1 de 14
Maestria en Sistemas Computacionales
Diseño Orientado a Objetos
Patron ObservadorPatron Observador
(Pattern Observer)(Pattern Observer)
Expone:
Ing. Fernando Alfonso Casas De la Torre
Catedratico:
Dr. Diego Uribe Agundis
Patron ObservadorPatron Observador
INTRODUCCION:
El Patron Observador (Observer) es un patrón de diseño de software que
define una dependencia del tipo uno a muchos entre objetos, de manera que
cuando uno de los objetos cambia su estado, notifica este cambio a todos los
dependientes.
Se trata de un patrón de comportamiento (existen de 3 tipos: creación,
estructurales y de comportamiento), por lo que está relacionado con algoritmos
de funcionamiento y asignación de responsabilidades a clases y objetos.
Los patrones de comportamiento describen no solamente estructuras de
relación entre objetos o clases sino también esquemas de comunicación entre
ellos y se pueden clasificar en función de que trabajen con: clases (método
plantilla) u objetos (cadena de responsabilidad), Comando, iterador recuerdo,
observador, estado, estrategia, visitante).
Patron ObservadorPatron Observador
COMPONENTES:
•Subject: conoce a sus observadores y ofrece la posibilidad de añadir y
eliminar observadores. Posee un método llamado attach() (agrega) y otro
detach() (remueve) que sirven para agregar o remover observadores en
tiempo de ejecución.
•Observer: define la interfaz que sirve para notificar a los observadores los
cambios realizados en el Subject.
•SubjectConcreto: almacena el estado que es objeto de interés de los
observadores y envía un mensaje a sus observadores cuando su estado
cambia.
•ObserverConcreto: mantiene una referencia a un SubjectConcreto.
Almacena el estado del Subject (Status- Update) que le resulta de interés.
Implementa la interfaz de actualización de Observer para mantener la
consistencia entre los dos estados
Patron ObservadorPatron Observador
COMO FUNCIONA:
•El Objeto De Datos, que se le puede llamar Sujeto a partir de ahora,
contiene atributos mediante los cuales cualquier Objeto observador (o vista)
se puede suscribir a él pasándole una referencia a sí mismo.
•El Sujeto mantiene así una lista de las referencias a sus observadores.
•Los observadores a su vez están obligados a implementar unos métodos
determinados mediante los cuales el Sujeto es capaz de notificar a sus
observadores suscritos los cambios que sufre para que todos ellos tengan la
oportunidad de refrescar el contenido representado.
Sujeto
SujetoConcreto ObservadorConcreto
Observador
Patron ObservadorPatron Observador
COMO FUNCIONA:
Esta disposicion provoca que cuando se produce un cambio en el Sujeto,
ejecutado, por ejemplo, por alguno de los observadores, el objeto de datos
puede recorrer la lista de observadores avisando a cada uno.
Este patrón suele utilizarse en los entornos de trabajo de interfaces gráficas
orientados a objetos (Java, Android, etc.), en los que la forma de capturar los
eventos es suscribir listeners a los objetos que pueden disparar eventos al
ver que han ocurrido los cambios que estaban esperando.
Sujeto
Registra Observadores()
RemueveObservadores()
NotificaObservadores()
SujetoConcreto
Registra Observadores() {..}
RemueveObservadores() {..}
NotificaObservadores() {..}
getStatus()
setStatus()
ObservadorConcreto
Update ()
// otros metodos para
Observadores
Observador
Update ()
Observadores (1..n)
Sujeto
Patron ObservadorPatron Observador
COMPONENTES:
Este patrón tiene un uso muy concreto: varios objetos necesitan ser notificados
de un evento y cada uno de ellos deciden como reaccionar cuando esta evento
se produzca.
Un caso típico es la Bolsa de Comercio, donde se trabaja con las acciones de
las empresas. Imaginemos que muchas empresas estan monitoreando las
acciones una empresa X.
• Posiblemente si estas acciones bajan,
algunas personas esten interesadas en
vender acciones, otras en comprar, otras
quizas no hagan nada y la empresa X quizas
tome alguna decisión por su cuenta.
• Todos los observadores reaccionan distinto
ante el mismo evento.
Patron ObservadorPatron Observador
EJEMPLO:
Vamos a suponer un ejemplo de una Biblioteca, donde cada vez que un lector
devuelve un libro se ejecuta el método devuelveLibro(Libro libro) de la clase
Biblioteca.
:Si el lector devolvió el libro
dañado entonces la aplicación
avisa a ciertas clases que
están interesadas en conocer
o que deben conocer, este
evento
Patron ObservadorPatron Observador
EJEMPLO:
Cada clase que quiera observar el cambio del estado en el libro deberá
implementar la siguiente interface y darle lógica al método update().
Las clases o instancias interesadas en saber el estado del libro devuelto por el
estado de ILibroMalEstado() son: Administracion(), Compras() y Stock().
Patron ObservadorPatron Observador
EJEMPLO:
Veamos el Subject. Este determinara a quien notificara el estado de los libros
que llegan. Define la lista activa de suscriptores agregandolos y eliminandolos
de ella y solamente a aquellos autentificados o validos les informara del estado
del sujeto observado o evento…
La clase AlarmaLibro() registra y
actualiza la lista de
observadores del evento y les
notifica a estos cuando hay uno
Patron ObservadorPatron Observador
EJEMPLO:
La biblioteca es quién dispara el evento. Seguramente el estado de un libro no
estará en formato String, pero no viene al caso.
Se muestra una corrida de los
programas del ejemplo de la
Biblioteca con un estado o caso
para activar eventos…
Patron ObservadorPatron Observador
CONSIDERACIONES
•El Patron Observador permite modificar las clases subjects y las observers
independientemente.
•Permite añadir nuevos observadores en tiempo de ejecución, sin que esto
afecte a ningún otro observador.
•Permite que dos capas de diferentes niveles de abstracción se puedan
comunicar entre sí sin romper esa división.
•Permite comunicación broadcast, es decir, un objeto subject envía su
notificación a todos los observers sin enviárselo a ningún observer en concreto
(el mensaje no tiene un destinatario concreto). Todos los observers reciben el
mensaje y deciden si hacerle caso ó ignorarlo.
•La comunicación entre los objetos subject y sus observadores es limitada: el
evento siempre significa que se ha producido algún cambio en el estado del
objeto y el mensaje no indica el destinatario
Patron ObservadorPatron Observador
CONCLUSION:
Básicamente debemos saber que el patrón Observer es un patrón de
comportamiento que permite relacionar diferentes objetos entre si en torno a
uno Principal, así cada vez que este ultimo cambie su estado, los demás
también cambiaran de forma automática....
Podemos decir entonces que dicho patrón se compone de un objeto
observable u Observado (SujetoConcreto) y objetos observadores
(ObservadorConcreto)....
Un Objeto Observable puede tener uno o
mas Observadores, como vemos el
ObservadorConcreto implementa la
interface Observer (propia de Java) la cual
permite informar sobre los cambios en los
objetos observables mediante una llamada
al método update()
Patron ObservadorPatron Observador
REFERENCIAS:
HEAD FIRST DESIGN PATTERNS
Erick Freeman
UML Y PATRONES
Craig Larmann
BLOG «Mi granito de Java»
http://migranitodejava.blogspot.mx/search/label/Observer
BLOG «Codigo DejaVu»
http://codejavu.blogspot.mx/2013/06/ejemplo-patron-observer.html
WIKIPEDIA
https://es.wikipedia.org/wiki/Observer_(patr%C3%B3n_de_dise%C3%B1o)
Patron ObservadorPatron Observador
(Pattern Observer)(Pattern Observer)
GRACIAS POR SU ATENCIONGRACIAS POR SU ATENCION
Expuso:
Ing. Fernando Alfonso Casas De la Torre
Matricula
M1713019
fernando_casas69@hotmail.com
Maestria en Sistemas
Computacionales
Diseño Orientado a Objetos
Catedratico:
Dr. Diego Uribe Agundis

Más contenido relacionado

La actualidad más candente

Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
still01
 
Mcvs re-02 requerimientos del usuario
Mcvs re-02 requerimientos del usuarioMcvs re-02 requerimientos del usuario
Mcvs re-02 requerimientos del usuario
lnavarros
 
Diagramas de contexto para blog
Diagramas de contexto para blogDiagramas de contexto para blog
Diagramas de contexto para blog
martinvazquez
 
Base de Datos: Modelo Entidad-Relacion
Base de Datos: Modelo Entidad-RelacionBase de Datos: Modelo Entidad-Relacion
Base de Datos: Modelo Entidad-Relacion
Diego Torres
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
ramirezjaime
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
danielglot
 

La actualidad más candente (20)

Patron Template
Patron TemplatePatron Template
Patron Template
 
Diagramas de estado
Diagramas de estadoDiagramas de estado
Diagramas de estado
 
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
Diagramas de Clases, Secuencia, Patrones de Diseño MVC, Disño de Interfaces d...
 
Diagrama de secuencia 2
Diagrama de secuencia 2Diagrama de secuencia 2
Diagrama de secuencia 2
 
Mcvs re-03 requerimientos técnicos
Mcvs re-03 requerimientos técnicosMcvs re-03 requerimientos técnicos
Mcvs re-03 requerimientos técnicos
 
Diagramas de estados
Diagramas de estadosDiagramas de estados
Diagramas de estados
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
IEEE 830 1998: Software Requirements Specification (Especificación de requisi...
 
Programacion orientada a objetos 2
Programacion orientada a objetos 2Programacion orientada a objetos 2
Programacion orientada a objetos 2
 
Diagrama de secuencia UML
Diagrama de secuencia UMLDiagrama de secuencia UML
Diagrama de secuencia UML
 
Mcvs re-02 requerimientos del usuario
Mcvs re-02 requerimientos del usuarioMcvs re-02 requerimientos del usuario
Mcvs re-02 requerimientos del usuario
 
Diagramas de contexto para blog
Diagramas de contexto para blogDiagramas de contexto para blog
Diagramas de contexto para blog
 
Patrones de diseño de GoF
Patrones de diseño de GoFPatrones de diseño de GoF
Patrones de diseño de GoF
 
Metodologías del análisis y diseño de sistemas
Metodologías del análisis y diseño de sistemasMetodologías del análisis y diseño de sistemas
Metodologías del análisis y diseño de sistemas
 
state modeling In UML
state modeling In UMLstate modeling In UML
state modeling In UML
 
Sequence diagrams
Sequence diagramsSequence diagrams
Sequence diagrams
 
Base de Datos: Modelo Entidad-Relacion
Base de Datos: Modelo Entidad-RelacionBase de Datos: Modelo Entidad-Relacion
Base de Datos: Modelo Entidad-Relacion
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Lectura 3 Modelo De Analisis
Lectura 3   Modelo De AnalisisLectura 3   Modelo De Analisis
Lectura 3 Modelo De Analisis
 
Modelo entidad relacion
Modelo entidad relacionModelo entidad relacion
Modelo entidad relacion
 

Similar a Patron observador

Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
Jose Angel Rodriguez
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
guest160f88
 
Daniel espinosa garzon
Daniel espinosa garzonDaniel espinosa garzon
Daniel espinosa garzon
orus004
 
Conceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionConceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacion
orus004
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
Alexis Arguello
 

Similar a Patron observador (20)

Observer design pattern
Observer design patternObserver design pattern
Observer design pattern
 
Observer design pattern
Observer design patternObserver design pattern
Observer design pattern
 
Patron sw observer
Patron sw observerPatron sw observer
Patron sw observer
 
Observer
ObserverObserver
Observer
 
Patrones de diseño
Patrones de diseñoPatrones de diseño
Patrones de diseño
 
Design patterns
Design patternsDesign patterns
Design patterns
 
Proxy observer patrones
Proxy observer patronesProxy observer patrones
Proxy observer patrones
 
Introduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos originalIntroduccion al paradigma de la programacion orientado a objetos original
Introduccion al paradigma de la programacion orientado a objetos original
 
Poo
PooPoo
Poo
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
Programacion Orientada A Objetos
Programacion Orientada A ObjetosProgramacion Orientada A Objetos
Programacion Orientada A Objetos
 
PROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOSPROGRAMACIÓN ORIENTADA A OBJETOS
PROGRAMACIÓN ORIENTADA A OBJETOS
 
Daniel espinosa garzon
Daniel espinosa garzonDaniel espinosa garzon
Daniel espinosa garzon
 
Conceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacionConceptualizacion lenguajes de programacion
Conceptualizacion lenguajes de programacion
 
Asignacion2
Asignacion2Asignacion2
Asignacion2
 
Unidad i parte i
Unidad i parte iUnidad i parte i
Unidad i parte i
 
Termino de programacion
Termino de programacionTermino de programacion
Termino de programacion
 
Conceptos poo
Conceptos pooConceptos poo
Conceptos poo
 
3_Orientación a objeto
3_Orientación a objeto3_Orientación a objeto
3_Orientación a objeto
 
Programación orientada a objetos
Programación orientada a objetosProgramación orientada a objetos
Programación orientada a objetos
 

Más de Fernando Alfonso Casas De la Torre

Más de Fernando Alfonso Casas De la Torre (20)

Mi Cascarita Proyecto Colibri.ppt
Mi Cascarita Proyecto Colibri.pptMi Cascarita Proyecto Colibri.ppt
Mi Cascarita Proyecto Colibri.ppt
 
Proyecto enlace WiFi Comunidades rurales
Proyecto enlace WiFi Comunidades ruralesProyecto enlace WiFi Comunidades rurales
Proyecto enlace WiFi Comunidades rurales
 
Congreso Academy Journal Tepic 2019
Congreso Academy Journal Tepic 2019Congreso Academy Journal Tepic 2019
Congreso Academy Journal Tepic 2019
 
Academy Journal Morelia 2018
Academy Journal Morelia 2018Academy Journal Morelia 2018
Academy Journal Morelia 2018
 
Congreso Internacional de Investigacion Universidad Cortazar 2018
Congreso Internacional de Investigacion Universidad Cortazar 2018Congreso Internacional de Investigacion Universidad Cortazar 2018
Congreso Internacional de Investigacion Universidad Cortazar 2018
 
Congreso Academy Journal Celaya 2017
Congreso Academy Journal Celaya 2017Congreso Academy Journal Celaya 2017
Congreso Academy Journal Celaya 2017
 
IMSS Informatica Actividades 2014 enfriamiento de site
IMSS Informatica Actividades 2014 enfriamiento de siteIMSS Informatica Actividades 2014 enfriamiento de site
IMSS Informatica Actividades 2014 enfriamiento de site
 
Historia de las Videoconsolas
Historia de las VideoconsolasHistoria de las Videoconsolas
Historia de las Videoconsolas
 
Relación universidad-gobierno: caso de remodelación de una dependencia federal
Relación universidad-gobierno:  caso de remodelación  de una dependencia federalRelación universidad-gobierno:  caso de remodelación  de una dependencia federal
Relación universidad-gobierno: caso de remodelación de una dependencia federal
 
Teorema de Naives Bayes
Teorema de Naives BayesTeorema de Naives Bayes
Teorema de Naives Bayes
 
Analisis de incendios forestales mediante WEKA
Analisis de incendios forestales mediante WEKAAnalisis de incendios forestales mediante WEKA
Analisis de incendios forestales mediante WEKA
 
Introduccion a mineria de datos
Introduccion a mineria de datosIntroduccion a mineria de datos
Introduccion a mineria de datos
 
Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008Replicación de Bases de Datos con SQL Server 2008
Replicación de Bases de Datos con SQL Server 2008
 
Incorporacion a la Seguridad Social
Incorporacion a la Seguridad SocialIncorporacion a la Seguridad Social
Incorporacion a la Seguridad Social
 
Plan de Contingencia Informatico
Plan de Contingencia InformaticoPlan de Contingencia Informatico
Plan de Contingencia Informatico
 
Contingencia Informatica
Contingencia InformaticaContingencia Informatica
Contingencia Informatica
 
Las 10 leyes de la Seguridad Informatica
Las 10 leyes de la Seguridad InformaticaLas 10 leyes de la Seguridad Informatica
Las 10 leyes de la Seguridad Informatica
 
Comercializacion de un producto
Comercializacion de un productoComercializacion de un producto
Comercializacion de un producto
 
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?Spark: una chispa con la velocidad del rayo  ¿el sustituto de Hadoop?
Spark: una chispa con la velocidad del rayo ¿el sustituto de Hadoop?
 
Historia de las videoconsolas
Historia de las videoconsolasHistoria de las videoconsolas
Historia de las videoconsolas
 

Patron observador

  • 1. Maestria en Sistemas Computacionales Diseño Orientado a Objetos Patron ObservadorPatron Observador (Pattern Observer)(Pattern Observer) Expone: Ing. Fernando Alfonso Casas De la Torre Catedratico: Dr. Diego Uribe Agundis
  • 2. Patron ObservadorPatron Observador INTRODUCCION: El Patron Observador (Observer) es un patrón de diseño de software que define una dependencia del tipo uno a muchos entre objetos, de manera que cuando uno de los objetos cambia su estado, notifica este cambio a todos los dependientes. Se trata de un patrón de comportamiento (existen de 3 tipos: creación, estructurales y de comportamiento), por lo que está relacionado con algoritmos de funcionamiento y asignación de responsabilidades a clases y objetos. Los patrones de comportamiento describen no solamente estructuras de relación entre objetos o clases sino también esquemas de comunicación entre ellos y se pueden clasificar en función de que trabajen con: clases (método plantilla) u objetos (cadena de responsabilidad), Comando, iterador recuerdo, observador, estado, estrategia, visitante).
  • 3. Patron ObservadorPatron Observador COMPONENTES: •Subject: conoce a sus observadores y ofrece la posibilidad de añadir y eliminar observadores. Posee un método llamado attach() (agrega) y otro detach() (remueve) que sirven para agregar o remover observadores en tiempo de ejecución. •Observer: define la interfaz que sirve para notificar a los observadores los cambios realizados en el Subject. •SubjectConcreto: almacena el estado que es objeto de interés de los observadores y envía un mensaje a sus observadores cuando su estado cambia. •ObserverConcreto: mantiene una referencia a un SubjectConcreto. Almacena el estado del Subject (Status- Update) que le resulta de interés. Implementa la interfaz de actualización de Observer para mantener la consistencia entre los dos estados
  • 4. Patron ObservadorPatron Observador COMO FUNCIONA: •El Objeto De Datos, que se le puede llamar Sujeto a partir de ahora, contiene atributos mediante los cuales cualquier Objeto observador (o vista) se puede suscribir a él pasándole una referencia a sí mismo. •El Sujeto mantiene así una lista de las referencias a sus observadores. •Los observadores a su vez están obligados a implementar unos métodos determinados mediante los cuales el Sujeto es capaz de notificar a sus observadores suscritos los cambios que sufre para que todos ellos tengan la oportunidad de refrescar el contenido representado. Sujeto SujetoConcreto ObservadorConcreto Observador
  • 5. Patron ObservadorPatron Observador COMO FUNCIONA: Esta disposicion provoca que cuando se produce un cambio en el Sujeto, ejecutado, por ejemplo, por alguno de los observadores, el objeto de datos puede recorrer la lista de observadores avisando a cada uno. Este patrón suele utilizarse en los entornos de trabajo de interfaces gráficas orientados a objetos (Java, Android, etc.), en los que la forma de capturar los eventos es suscribir listeners a los objetos que pueden disparar eventos al ver que han ocurrido los cambios que estaban esperando. Sujeto Registra Observadores() RemueveObservadores() NotificaObservadores() SujetoConcreto Registra Observadores() {..} RemueveObservadores() {..} NotificaObservadores() {..} getStatus() setStatus() ObservadorConcreto Update () // otros metodos para Observadores Observador Update () Observadores (1..n) Sujeto
  • 6. Patron ObservadorPatron Observador COMPONENTES: Este patrón tiene un uso muy concreto: varios objetos necesitan ser notificados de un evento y cada uno de ellos deciden como reaccionar cuando esta evento se produzca. Un caso típico es la Bolsa de Comercio, donde se trabaja con las acciones de las empresas. Imaginemos que muchas empresas estan monitoreando las acciones una empresa X. • Posiblemente si estas acciones bajan, algunas personas esten interesadas en vender acciones, otras en comprar, otras quizas no hagan nada y la empresa X quizas tome alguna decisión por su cuenta. • Todos los observadores reaccionan distinto ante el mismo evento.
  • 7. Patron ObservadorPatron Observador EJEMPLO: Vamos a suponer un ejemplo de una Biblioteca, donde cada vez que un lector devuelve un libro se ejecuta el método devuelveLibro(Libro libro) de la clase Biblioteca. :Si el lector devolvió el libro dañado entonces la aplicación avisa a ciertas clases que están interesadas en conocer o que deben conocer, este evento
  • 8. Patron ObservadorPatron Observador EJEMPLO: Cada clase que quiera observar el cambio del estado en el libro deberá implementar la siguiente interface y darle lógica al método update(). Las clases o instancias interesadas en saber el estado del libro devuelto por el estado de ILibroMalEstado() son: Administracion(), Compras() y Stock().
  • 9. Patron ObservadorPatron Observador EJEMPLO: Veamos el Subject. Este determinara a quien notificara el estado de los libros que llegan. Define la lista activa de suscriptores agregandolos y eliminandolos de ella y solamente a aquellos autentificados o validos les informara del estado del sujeto observado o evento… La clase AlarmaLibro() registra y actualiza la lista de observadores del evento y les notifica a estos cuando hay uno
  • 10. Patron ObservadorPatron Observador EJEMPLO: La biblioteca es quién dispara el evento. Seguramente el estado de un libro no estará en formato String, pero no viene al caso. Se muestra una corrida de los programas del ejemplo de la Biblioteca con un estado o caso para activar eventos…
  • 11. Patron ObservadorPatron Observador CONSIDERACIONES •El Patron Observador permite modificar las clases subjects y las observers independientemente. •Permite añadir nuevos observadores en tiempo de ejecución, sin que esto afecte a ningún otro observador. •Permite que dos capas de diferentes niveles de abstracción se puedan comunicar entre sí sin romper esa división. •Permite comunicación broadcast, es decir, un objeto subject envía su notificación a todos los observers sin enviárselo a ningún observer en concreto (el mensaje no tiene un destinatario concreto). Todos los observers reciben el mensaje y deciden si hacerle caso ó ignorarlo. •La comunicación entre los objetos subject y sus observadores es limitada: el evento siempre significa que se ha producido algún cambio en el estado del objeto y el mensaje no indica el destinatario
  • 12. Patron ObservadorPatron Observador CONCLUSION: Básicamente debemos saber que el patrón Observer es un patrón de comportamiento que permite relacionar diferentes objetos entre si en torno a uno Principal, así cada vez que este ultimo cambie su estado, los demás también cambiaran de forma automática.... Podemos decir entonces que dicho patrón se compone de un objeto observable u Observado (SujetoConcreto) y objetos observadores (ObservadorConcreto).... Un Objeto Observable puede tener uno o mas Observadores, como vemos el ObservadorConcreto implementa la interface Observer (propia de Java) la cual permite informar sobre los cambios en los objetos observables mediante una llamada al método update()
  • 13. Patron ObservadorPatron Observador REFERENCIAS: HEAD FIRST DESIGN PATTERNS Erick Freeman UML Y PATRONES Craig Larmann BLOG «Mi granito de Java» http://migranitodejava.blogspot.mx/search/label/Observer BLOG «Codigo DejaVu» http://codejavu.blogspot.mx/2013/06/ejemplo-patron-observer.html WIKIPEDIA https://es.wikipedia.org/wiki/Observer_(patr%C3%B3n_de_dise%C3%B1o)
  • 14. Patron ObservadorPatron Observador (Pattern Observer)(Pattern Observer) GRACIAS POR SU ATENCIONGRACIAS POR SU ATENCION Expuso: Ing. Fernando Alfonso Casas De la Torre Matricula M1713019 fernando_casas69@hotmail.com Maestria en Sistemas Computacionales Diseño Orientado a Objetos Catedratico: Dr. Diego Uribe Agundis