A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Observer Professor: Hyggo Almeida. Observer Computação Ubíqua Casa inteligente Cenário não tão futurista Software embutido 2 Observer.

Apresentações semelhantes


Apresentação em tema: "Observer Professor: Hyggo Almeida. Observer Computação Ubíqua Casa inteligente Cenário não tão futurista Software embutido 2 Observer."— Transcrição da apresentação:

1 Observer Professor: Hyggo Almeida

2 Observer Computação Ubíqua Casa inteligente Cenário não tão futurista Software embutido 2 Observer

3 3 Minha Casa

4 Como projetar??? 4 Observer Telefone Microondas ArCondicionado Torradeira Computador Geladeira Microondas mic; ArCondicionado arc; Torradeira tor; Computador cp; Geladeira gel; vaiChegar(30) Usuário vouChegar(30) Televisão

5 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 5 Observer

6 Observer Solução: Padrão Observer Padrão Observer Definição de dois papéis Definição de dois papéis Observado (Observable) Observado (Observable) Observador/Ouvinte (Observer/Listener) Observador/Ouvinte (Observer/Listener) 6 Observer Observable > Listener * Avisa a todos os ouvintes interessados quando o Evento ocorre Cadastra-se no observador como interessado em um Evento

7 Observer No nosso exemplo 7 Observer TelefoneInteligente > EletroOuvinte tocar(); addListener(EletroOuvinte); dispararEvento(); receiveEvent(EventoToque); EventoToque getTime(); cria anuncia Computador ArCondicionado Geladeira Torradeira Microondas *

8 Observer Intenção definir 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. definir 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 Dependents e Publish-Subscribe 8 Observer

9 Observer Aplicabilidade quando a mudança em um objeto exige a mudança em outros, e você não sabe quantos objetos necessitam ser mudados. quando 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. quando um objeto deveria ser capaz de notificar outros objetos sem fazer hipóteses, ou usar informações, de quem são estes objetos. 9 Observer

10 Observer Conseqüências baixo acoplamento entre os anunciantes e os ouvintes da notificação baixo acoplamento entre os anunciantes e os ouvintes da notificação suporte para comunicações baseadas em difusão (broadcast) suporte para comunicações baseadas em difusão (broadcast) 10 Observer

11 Questões de implementação Listeners podem demorar a retornar da notificação Listeners não devem jogar exceções na notificação Se listeners puderem alterar o Observable na notificação, a coisa complica

12 Dúvidas? ? 12 Observer


Carregar ppt "Observer Professor: Hyggo Almeida. Observer Computação Ubíqua Casa inteligente Cenário não tão futurista Software embutido 2 Observer."

Apresentações semelhantes


Anúncios Google