1 / 71

Implementação MVC

Implementação MVC. Pedro Antonino. Agenda. MVC Desenvolvendo com Play. MVC. Separação das preocupações : Interação do usuário Apresentação Lógica de negocios. Controller. Model. View. MVC Passivo. Controllador. Atualiza view. Http response. MVC Passivo. Browser.

felix-noble
Download Presentation

Implementação MVC

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Implementação MVC Pedro Antonino

  2. Agenda • MVC • Desenvolvendo com Play

  3. MVC • Separação das preocupações: • Interação do usuário • Apresentação • Lógica de negocios Controller Model View

  4. MVC Passivo Controllador Atualiza view Http response

  5. MVC Passivo Browser HttpRequest Servidor HttpResponse View

  6. MVC Passivo Browser HttpRequest Servidor HttpResponse View

  7. Framework • Conjunto de design patterns implementado e configurávelpara um dado projeto

  8. Play Framework • Framework Java • Alta produtividadepara Web • Multi-plataforma: Windows, MacOS, Linux • MVC • 2.0.4

  9. Porque Play • Java EE • Muitaconfiguração, Muito XML • Vários frameworks • JSF: simplifica Java EE • Struts • Simplifica a criação dos controllers • Integrar com outros Frameworks • Play • Integração de alguns frameworks + Parte original de Play • Poucaconfiguração, XML free

  10. Desenvolvendo com Play • Uma aplicação web simples usando Play • Estruturainicial do projeto • Framework está OK • Mapeamentos: requisições-> açõesdos controllers • Criar stubs das açõesnos controllers • Criar a lógica de negócio no pacote Model • Criar as view paraapresentação dos dados • Implementaros stubs dos controllers

  11. Exemplo: RealizarDOC • A implementação de uma parte do caso de uso • Porenquanto, temosumatransferência de umacontaparaoutra

  12. Criação da estruturainicial • Através do console Play: • Usando o commando new, criar a estruturainicial da aplicação

  13. Estrutura de um projeto Play

  14. Desenvolvendo com Play • Uma aplicação web simples usando Play • Estruturainicial do projeto • Aplicaçãoestá OK • Mapeamentos: requisições-> açõesdos controllers • Criar stubs das açõesnos controllers • Criar a lógica de negócio no pacote Model • Criar as view paraapresentação dos dados • Implementaros stubs dos controllers

  15. Servidor • Executado com o comando run do console Play • Mudanças no códigosãorefletidasautomaticamente no servidorde desenvolvimento

  16. Desenvolvendo com Play • Uma aplicação web simples usando Play • Estruturainicial do projeto • Aplicaçãoestá OK • Mapeamentos: requisições-> açõesdos controllers • Criar stubs das açõesnos controllers • Criar a lógica de negócio no pacote Model • Criar as view paraapresentação dos dados • Implementaros stubs dos controllers

  17. Funcionamentoda aplicação HttpRequest Cliente (WebBrowser) Servidor HttpResponse

  18. Roteamento • Mapeamento: • Requisição Http -> Ação de algum controller • Se a complexidadeaumentapodemosterumahierarquia de arquivos de roteamento

  19. routes Ações Método URLs

  20. Acessar URLs

  21. Controllers • Classe no pacote controllers • Herdam da classe Controller • Seusmétodossãochamados de ações • Devemretornar um Result(HTTP response)

  22. Controller

  23. Controllers • Verificarmapeamento: • Http request -> ação • Stubs

  24. /contas

  25. Desenvolvendo com Play • Uma aplicação web simples usando Play • Estruturainicial do projeto • Aplicaçãoestá OK • Mapeamentos: requisições-> açõesdos controllers • Criar a lógica de negócio no pacote Model • Criar as view paraapresentação dos dados • Implementaros stubs dos controllers

  26. Model • Construção da suas classes de negócio, para a funcionalidadedesejada • Anotação das classes queserãopersistidas

  27. Model • Classes de entidades • No pacote models • Classes querepresentamentidadespersistidas: • Anotadas • Herdam da classe Model, do Play

  28. Classeconta

  29. Model • Repositório: • JPA + Play • Herança de model: • save(), delete(), etc. • Finder • Objetousadoparafazerconsultas a base.

  30. RepConta

  31. Models • Aplicaçõescomplexas: • Estruturacomplexa • Podeserorganizadoemcamadas • Aplicações simples: • apenas classes de persistência Model: • Classe de dados + Repositório

  32. CadastroContas

  33. Controlador

  34. Fachada

  35. Controlador != Controller • Preocupaçõesdiferentes: • Controlador: • Implementar a lógica de negociousandocadastros • Implementa um seviço • Controller: • Tratarrequisições do usuário • Delegarao model a execução da lógica de negócio • Atualizar a view(Passive View)

  36. Estruturado model

  37. Configuração do BD

  38. Configurar o BD • arquivo de configuração: • Application.conf • H2: • Bancoemmemória • Padrão

  39. application.conf

  40. Plugin de evolução do BD • BD desatualizado: • Servidor de desenvolvimento-> aplicar script SQL

  41. Gerenciar o BD • Genciar a base H2 atraves do browser • Comando h2-browser

  42. h2-browser

  43. H2 console

  44. H2 console

  45. Desenvolvendo com Play • Uma aplicação web simples usando Play • Estruturainicial do projeto • Aplicaçãoestá OK • Mapeamentos: requisições-> açõesdos controllers • Criar a lógica de negócio no pacote Model • Criar as view paraapresentação dos dados • Implementaros stubs dos controllers

More Related