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

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

Observer Mantendo seus objetos atualizados Daniel Roloff Carlos Machado Enzo Zuccolotto Luiz Felipe Trevisan Rafael Holtz.

Apresentações semelhantes


Apresentação em tema: "Observer Mantendo seus objetos atualizados Daniel Roloff Carlos Machado Enzo Zuccolotto Luiz Felipe Trevisan Rafael Holtz."— Transcrição da apresentação:

1 Observer Mantendo seus objetos atualizados Daniel Roloff Carlos Machado Enzo Zuccolotto Luiz Felipe Trevisan Rafael Holtz

2 Imagine… Uma editora começa a publicar jornais; Você assina-o e todo dia recebe os mesmos; Você cancela a assinatura quando não quizer mais recebê-los e eles param de chegar; A editora entrega jornais para pessoas, hotéis, companhias aéreas e outras empresas fazem e cancelam assinaturas constantemente. ESTE É O OBSERVER!

3 Definições Define a dependência um-para-muitos entre objetos para que quando um objeto mude de estado todos os seus dependentes sejam avisados e atualizados automaticamente. Utilizando baixo encapsulamento!

4 Definições Padrão Comportamental, isto é, define o comportamento dos objetos. Não permite que a estrutura interna do obejto que está se comunicando seja exposta. Swing utiliza muito este padrão, assim como muitos frameworks GUI. Também será encontrado em outros lugares como JavaBeans e RMI.

5 Diagrama de Classes Contêm o estado e o controla O método update é chamado quando o estado de Subject é alterado

6 Java Java tem uma implementação própria; É necessário estender a superclasse java.util.Observable (Péssimo!) Possui um método setChanged() utilizado para informar que deve ser enviado o estado para as demais classes. Útil para quando o estado varia muito e queremos acionar os observadores só em determinados casos.

7 Exemplo Vamos ao código! Try it!

8 Desvantagens A necessidade de extender uma classe na implementação default do Java Não é possível nem usar composição já que o método setChanged é privado Deve-se otimizar as notificações para que não sobrecarregar os observadores

9 Bibliografia Padrões de Projeto – Use a Cabeça – Eric Freeman e Elisabeth Freeman Spring Loaded Observer Pattern – Scott Priolo tss?l=SpringLoadedObserverPattern

10 Dúvidas? Dúvidas?


Carregar ppt "Observer Mantendo seus objetos atualizados Daniel Roloff Carlos Machado Enzo Zuccolotto Luiz Felipe Trevisan Rafael Holtz."

Apresentações semelhantes


Anúncios Google