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

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

Implementação MVC Pedro Antonino.

Apresentações semelhantes


Apresentação em tema: "Implementação MVC Pedro Antonino."— Transcrição da apresentação:

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

14

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

19

20 Servidor Executado com o comando run do console Play
Mudanças no código são refletidas automaticamente no servidor de desenvolvimento

21

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

30

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

48

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

55

56

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.

59

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

62

63

64

65

66

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”


Carregar ppt "Implementação MVC Pedro Antonino."

Apresentações semelhantes


Anúncios Google