brayan neves - decomo rails utiliza padrões inteligentes ! geralmente não é necessário que se...

15
Brayan Neves

Upload: others

Post on 05-Sep-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

Brayan Neves

Page 2: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Arquitetura MVC }  Modelo (Model) }  Visão (View) }  Controlador (Controller) }  Arquitetura MVC no Ruby on Rails

Page 3: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Model-View-Controller ◦  Concebido por desenvolvedores de aplicativos GUI �  Menor acoplamento �  Mais fácil de escrever �  Mais fácil de manter �  Cada ação é expressa em um local conhecido ◦  Modelo de desenvolvimento do Ruby on Rails

Controller

Model View

Page 4: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Responsável por manter o estado do aplicativo ◦  Pode ser transitório ou permanente ◦  O modelo é quem dita as regras de negócio da

aplicação �  Mantêm a consistência dos dados que armazena

Page 5: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Gera a interface com o usuário ◦  A partir dos dados vindos do modelo, a View é

responsável por formatar a exibição deles ◦  Uma View que gera as telas de edição de dados,

mas ela nunca faz o tratamento dos mesmos ◦  Se limita a exibir dados

Page 6: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  É possível que possa existir várias Views para o mesmo dado ◦  Visão do usuário ◦  Visão do administrador

Page 7: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Responsável por coordenar o aplicativo ◦  Recebem eventos de fora da aplicação ◦  Interagem com o Modelo ◦  Apresenta a visão adequada

Page 8: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Ruby on Rails é um Framework MVC ◦  O desenvolvimento de um aplicativo com ele te

impõe o uso desta arquitetura

◦  Todos os arquivos já são separados e integrados a medida em que o programa é executado

◦  O Rails utiliza padrões inteligentes �  Geralmente não é necessário que se escreva

metadados de configuração para funcionar

Page 9: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Tratamento de uma requisição ◦  É feita uma requisição para a aplicação ◦  Ela é roteada para o Controlador correspondente ◦  O Controlador interage com o Modelo da aplicação �  O Modelo pode ou não interagir com um Banco de

dados ◦  O Controlador invoca a Visão correspondente ◦  A Visão aparece na tela do usuário

Page 10: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  O processo descrito no slide anterior, é nomeado no Rails como uma ação. ◦  Uma ação: �  Examina dados da requisição �  Interage com o modelo �  Pode invocar outras ações �  Prepara a visão a ser exibida para o usuário

Page 11: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Exemplo de uma ação em Execução

Page 12: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  http://meusite.com/store/add_to_cart/123 ◦  http://meusite.com/ => Meu site Rails ◦  store => Nome do controlador �  StoreController será invocado ◦  add_to_cart => Nome da ação invocada ◦  123 => id do produto

Page 13: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Se MVC só separa o código, porque existe o Ruby on Rails?

Page 14: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Se MVC só separa o código, porque existe o Ruby on Rails? ◦  Active Record �  Camada ORM do Rails que cuida conciliar

objetos da aplicação e as tabelas do banco de dados

Page 15: Brayan Neves - DECOMO Rails utiliza padrões inteligentes ! Geralmente não é necessário que se escreva metadados de configuração para funcionar ! Tratamento de uma requisição

}  Se MVC só separa o código, porque existe o Ruby on Rails? ◦  Action Pack �  Suporte a criação de visões

�  rHTML, rXML, e rJS �  Suporte ao controlador

�  Coordena a interação com o usuário, visões e modelo �  A maioria das coisas em “background” para facilitar o

desenvolvimento �  Roteia requisições externas �  Gerencia cache �  Gerencia de módulos auxiliares �  Gerencia seções