Carregar apresentação
A apresentação está carregando. Por favor, espere
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ável para um dado projeto
8
Play Framework Framework Java Alta produtividade para Web
Multi-plataforma: Windows, MacOS, Linux MVC 2.0.4
9
Porque Play Java EE Struts Play Muita configuraçã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 Pouca configuração, XML free
10
Pilha do Play
11
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Framework está OK Mapeamentos: requisições -> ações dos controllers Criar stubs das ações nos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
12
Exemplo: RealizarDOC A implementação de uma parte do caso de uso
Por enquanto, temos uma transferência de uma conta para outra
13
Criação da estrutura inicial
Através do console Play: Usando o commando new, criar a estrutura inicial da aplicação
15
Estrutura de um projeto Play
16
Diretório App Assets: Controllers Models (Não cria automaticamente)
Javascript Stylesheets Controllers Models (Não cria automaticamente) Views
17
Diretório Conf Application.conf Routes
18
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Aplicação está OK Mapeamentos: requisições -> ações dos controllers Criar stubs das ações nos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
20
Servidor Executado com o comando run do console Play
Mudanças no código são refletidas automaticamente no servidor de desenvolvimento
22
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Aplicação está OK Mapeamentos: requisições -> ações dos controllers Criar stubs das ações nos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
23
Funcionamento da aplicação
HttpRequest Cliente (WebBrowser) Servidor HttpResponse
24
Roteamento Mapeamento:
Requisição Http -> Ação de algum controller Se a complexidade aumenta podemos ter uma hierarquia de arquivos de roteamento
25
routes Ações Método URLs
26
Acessar URLs
27
Controllers Classe no pacote controllers Herdam da classe Controller
Seus métodos são chamados de ações Devem retornar um Result(HTTP response)
28
Controller
29
Controllers Verificar mapeamento: Http request -> ação Stubs
31
/contas
32
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Aplicação está OK Mapeamentos: requisições -> ações dos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
33
Model Construção da suas classes de negócio, para a funcionalidade desejada Anotação das classes que serão persistidas
34
Model Classes de entidades No pacote models
Classes que representam entidades persistidas: Anotadas Herdam da classe Model, do Play
35
Classe conta
36
Model Repositório: JPA + Play Herança de model: Finder
save(), delete(), etc. Finder Objeto usado para fazer consultas a base.
37
RepConta
38
Models Aplicações complexas: Aplicações simples: Estrutura complexa
Pode ser organizado em camadas Aplicações simples: apenas classes de persistência Model: Classe de dados + Repositório
39
CadastroContas
40
Controlador
41
Fachada
42
Controlador != Controller
Preocupações diferentes: Controlador: Implementar a lógica de negocio usando cadastros Implementa um seviço Controller: Tratar requisições do usuário Delegar ao model a execução da lógica de negócio Atualizar a view(Passive View)
43
Estrutura do model
44
Configuração do BD
45
Configurar o BD arquivo de configuração: H2: Application.conf
Banco em memória Padrão
46
application.conf
47
Plugin de evolução do BD
BD desatualizado: Servidor de desenvolvimento -> aplicar script SQL
49
Gerenciar o BD Genciar a base H2 atraves do browser Comando h2-browser
50
h2-browser
51
H2 console
52
H2 console
53
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Aplicação está OK Mapeamentos: requisições -> ações dos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
54
View Templates HTML de resposta: Lógica de apresentação:
liguagem de templates + HTML
57
View Conveção de nome: Criação de método de atualização:
nome.scala.html Criação de método de atualização: views.html.nome.render(parametros)
58
Forms Classe auxiliar que dada um classe basica cria um formulario.
Simples e muito util em aplicações webs.
60
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Aplicação está OK Mapeamentos: requisições -> ações dos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
61
Controller Ação: Implementar os controladores
tratam das requisições do usuario delega ao model a execução da funcionalidade responde com a a view atualizada Implementar os controladores
67
Validação dos dados
68
Desenvolvendo com Play
Uma aplicação web simples usando Play Estrutura inicial do projeto Aplicação está OK Mapeamentos: requisições -> ações dos controllers Criar a lógica de negócio no pacote Model Criar as view para apresentação dos dados Implementar os stubs dos controllers
69
Pronto Controller Model View Requisição do cliente
Trata a requisição do cliente Requisita o model View retornada como uma HTTP response Atualiza a view a ser rederizada
70
IDE Comando “eclipsefy” no console Play Tem um comando para IntelliJ
71
eclipsify
72
Problemas Falsas marcações de erros no Controller
73
Projeto Para 2 casos de uso Modelar como um sistema Web
O model deve ser estruturado com fachada, controladores, cadastros de negócio e de dados Usar o Play, Grails ou outro Framework Mostrar como o MVC foi aplicado Implementar pelo menos mais um padrão, como Abstract Factory, Observer, Command, State ... 1 CRUD 1 Caso mais complexo
74
Referências Site do Framework: 1o Capítulo do Livro “Play for Java”
1o Capítulo do Livro “Play for Java”
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.