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

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

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.

Apresentações semelhantes


Apresentação em tema: "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."— Transcrição da apresentação:

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

14

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


Carregar ppt "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."

Apresentações semelhantes


Anúncios Google