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

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

Professor: Hyggo Almeida

Apresentações semelhantes


Apresentação em tema: "Professor: Hyggo Almeida"— Transcrição da apresentação:

1 Professor: Hyggo Almeida
Observer Professor: Hyggo Almeida

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

3 Minha Casa Observer

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

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 Observer

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

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

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. Também conhecido como: Dependents e Publish-Subscribe 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 um objeto deveria ser capaz de notificar outros objetos sem fazer hipóteses, ou usar informações, de quem são estes objetos. Observer

10 Observer Conseqüências
baixo acoplamento entre os anunciantes e os ouvintes da notificação suporte para comunicações baseadas em difusão (broadcast) 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? ? Observer


Carregar ppt "Professor: Hyggo Almeida"

Apresentações semelhantes


Anúncios Google