Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouLeonardo Jardim Vieira Alterado mais de 8 anos atrás
1
Delegação É uma maneira de tornar a composição tão poderosa para fins de reutilização como a herança. Na delegação, dois objetos são envolvidos no tratamento de uma solicitação: um objeto receptor delega operações para o seu delegado.
2
Observer - Propósito Define uma dependência de um- pra-muitos entre objetos, dessa forma quando um objeto muda de estado, todas as suas dependências são notificadas e atualizadas automaticamente [GAMMA1995].
3
Observer - Aplicação Este pattern é usado quando [GAMMA1995]: uma abstração tem dois aspectos, um depende do outro. Encapsulando esses aspectos em objetos separados fará com que se possa variá-los e reusá-los independentemente. uma mudança em um objeto requer uma mudança em outros, e não se sabe como esses outros objetos efetivamente fazem essas mudanças. um objeto deve poder notificar outros objetos sem assumir nada sobre eles. Dessa forma evita- se que os objetos envolvidos fiquem fortemente acoplados.
4
Observer - UML Fonte: Gamma et al, 1995
5
Observer – Implementação JAVA Interface Observer: Gera um objeto concreto que sabe processar uma notificação de atualização e, efetivamente, atualiza o objeto desejado. void update(Observable o, Object arg) : Este método é executado sempre que o objeto observado sofrer alteração.
6
Observer – Implementação JAVA class Observable: Origina o objeto que contém os dados a serem observados (no caso do MVC origina o modelo). void addObserver(Observer o): Adiciona um observer; void deleteObserver(Observer o): Deleta um observer; void deleteObservers(): Deleta todos os observers; void notifyObservers(): Caso alguma alteração tenha acontecido, notifica todos os observers. void notifyObservers(Object arg): Idem, mas com um objeto como parâmetro. void setChanged(): Define que o modelo sofreu alterações.
7
MVC O MVC (Model-View-Controller), ou Modelo- Visualização-Controlador, cujo objetivo é auxiliar o processo de “quebrar”, ou decompor uma aplicação em componentes lógicos que podem ser arquitetados mais facilmente, incrementando a flexibilidade e reutilização de código [GAMA et al., 1995]. Isso é feito dividindo a funcionalidade da aplicação em objetos envolvidos com a preservação e com a apresentação de dados, minimizando o grau de acoplamento entre os mesmos. Originalmente, o pattern MVC foi desenvolvido para mapear as tarefas tradicionais de entrada, processamento e saída de um modelo de interação gráfica com o usuário. Utilização de um protocolo de notificação (subscribe/notify) para comunicação entre os diferentes elementos, normalmente utilizando o padrão Observer
8
MVC – Modelo (Model) Contém os dados da aplicação junto com a lógica de negócios que define como alterar e acessar os dados; o modelo pode ser compartilhado entre vários objetos, visões e controladores.
9
MVC - Visualização (View) É a forma de apresentação dos dados do modelo para o mundo externo; com o uso de uma GUI, por exemplo. É o View que transmite as atividades do usuário para o Controller.
10
MVC – Controlador (Controller) O Controller, por sua vez, define o comportamento da aplicação, interpretando as ações do usuário enviadas pelo View, e mapeando-as em ações a serem realizadas pelo Model. Ou seja, o Controller gerencia a interação do usuário com o View, e as invocações ao Model.
11
MVC – Interação (View com acesso ao modelo) ModelModel ViewView ControllerController Atualiza dados Notifica modificações Realiza a Leitura dos dados Processa Eventos da interface
12
MVC – Interação (View sem acesso ao modelo) ModelModel ViewView ControllerController Atualiza dados Notifica Modificações (parâmetro) Processa Eventos da interface
13
Arquitetura MVC Exemplo
15
MVC – Exemplo de inicialização
16
MVC – Exemplo de interação
17
Observer : interface java.util.Observer public interface Observer { public void update(Observable o,Object arg); } Subject: classe java.util.Observable public class Observable { public void addObserver(Observer o); public void deleteObserver(Observer o); public void deleteObservers(); public int countObservers(); public void notifyObservers(); public void notifyObservers(Object arg); public void setChanged(); public void clearChanged(); public boolean hasChanged(); } Padrão Observer Implementação em Java
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.