Download - Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer
![Page 1: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/1.jpg)
Professor: Hyggo Almeida
ObserverObserver
![Page 2: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/2.jpg)
O que vimos na última aulaO que vimos na última aula??
Decorator Iterator
2Observer
![Page 3: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/3.jpg)
O que veremos hojeO que veremos hoje??
Observer
3Observer
![Page 4: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/4.jpg)
ObserverObserver
Computação Ubíqua Casa inteligente Cenário não tão futurista Software embutido
4Observer
![Page 5: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/5.jpg)
ObserverObserver
Observer 5Minha Casa
![Page 6: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/6.jpg)
ObserverObserver
Como projetar???
6Observer
Telefone Microondas
ArCondicionado
Torradeira
Computador
Geladeira
Microondas mic;ArCondicionado arc;
Torradeira tor;Computador cp;Geladeira gel;
vaiChegar(30)
vaiChegar(30)vaiChegar(30)
vaiChegar(30)
vaiChegar(30)
Usuário vouChegar(30)
Televisão
![Page 7: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/7.jpg)
ObserverObserver
Problemas!!! Alto acoplamento Na verdade, o acoplamento deve ser mínimo Computador, Microondas, televisão... etc, estão
interessados apenas no EVENTO ocorrido no telefone
Querem ser notificados quando tal EVENTO ocorrer
7Observer
![Page 8: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/8.jpg)
ObserverObserver
Solução???Padrão ObserverDefinição de dois papéis
• Observador (Observer)• Ouvinte (Listener)
8Observer
Observer <<interface>>Listener
*
Avisa a todos os ouvintes interessados quando o Evento ocorre
Cadastra-se no observador como interessado em um Evento
![Page 9: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/9.jpg)
ObserverObserver
No nosso exemplo
9Observer
TelefoneObsevador <<interface>>EletroOuvinte
tocar();addListener(EletroOuvinte);
dispararEvento();
receiveEvent(EventoToque);
EventoToque
getTime();
cria
anuncia
Computador
ArCondicionado
Geladeira
Torradeira
Microondas
*
![Page 10: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/10.jpg)
ObserverObserver
Intençãodefinir uma dependência um-para-muitos entre
objetos, de maneira que quando um objeto muda de estado todos os seus dependentes são notificados e atualizados automaticamente.
Também conhecido como:Dependents e Publish-Subscribe
10Observer
![Page 11: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/11.jpg)
ObserverObserver
Aplicabilidadequando a mudança em um objeto exige a mudança
em outros, e você não sabe quantos objetos necessitam ser mudados.
quando um objeto deveria ser capaz de notificar outros objetos sem fazer hipóteses, ou usar informações, de quem são estes objetos.
11Observer
![Page 12: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/12.jpg)
ObserverObserver
Conseqüênciasbaixo acoplamento entre os anunciantes e os
ouvintes da notificaçãosuporte para comunicações baseadas em difusão
(broadcast)atualizações inesperadas
12Observer
![Page 13: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/13.jpg)
ObserverObserver
Implementem o exemplo de Oberver apresentado Apenas com Computador e MicroondasEstes dois terão apenas o método receiveEvent
exigido pela interfaceO método de Computador deve imprimir na tela:
• “Recebendo dados do trabalho”O método de Microondas deve imprimir na tela:
• “Esquentando o Frango!!!”
13Observer
![Page 14: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/14.jpg)
O que vimos hojeO que vimos hoje??
Observer
14Observer
![Page 15: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/15.jpg)
O que veremos na próxima aulaO que veremos na próxima aula??
Strategy Template Method
15Observer
![Page 16: Professor: Hyggo Almeida Observer. O que vimos na última aula? Decorator Iterator 2 Observer](https://reader036.vdocuments.mx/reader036/viewer/2022070311/552fc12a497959413d8ccfff/html5/thumbnails/16.jpg)
DúvidasDúvidas??
?16Observer