Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019...
Transcript of Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019...
![Page 1: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/1.jpg)
Arquitetura MVCMichelet del Carpio chávez
![Page 2: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/2.jpg)
Agenda● Revisão da arquitetura da aplicação
○ Cliente
○ Servidor
● Projeto usando Flask○ Controller
○ Model
○ View
● Mini-tutorial de Flask○ flask
○ flask-rest-api
● Demo
2
![Page 3: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/3.jpg)
Arquitetura da Aplicação
3
![Page 4: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/4.jpg)
Manipulador de Dados
Tela 1
Comunicaçãoaxios.get/putpost/delete
this.setState( {estado} )
render( )
Repositório ViewModel
Gestor de Telas
React.router()
Elementos da
Arquitetura do
Cliente
Mapeamento de responsabilidades do Cliente
4
![Page 5: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/5.jpg)
Arquitetura MVC do back-end
model
entidades, lóg. de negócio, persistência
controller
API REST
view
json,schemas
Lógica de Negócio
Comunicação
DataServer
Apresentação
5
Mapeamento de responsabilidades do Servidor
Elementos da
Arquitetura do
Servidor
![Page 6: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/6.jpg)
Projeto MVC usando Flask
model
SqlAlchemycontroller
flask-rest-api
viewmarshmallo
w
Arquitetura MVC do back-end
model
entidades, lóg. de negócio, persistência
controller
API REST
view
json,schemas Representação
6
Projeto da Arquitetura usando Flask
![Page 7: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/7.jpg)
Mapeamento do Projeto MVC na Implementação
7
Projeto MVC usando Flask
model
SqlAlchemycontroller
flask-rest-api
viewmarshmallo
w
estrutura do código fonte
![Page 8: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/8.jpg)
Projeto - Controller v1
8
controller
app.py
![Page 9: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/9.jpg)
Projeto - Controller v1
9
controller
item.py
![Page 10: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/10.jpg)
Projeto - Model v2
10
model
item.py
![Page 11: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/11.jpg)
Projeto - View v2
11
view
itemSchema.py
![Page 12: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/12.jpg)
Mini-tutorial de Flask - IReferência: https://code.visualstudio.com/docs/python/tutorial-flask
Instalar python3
Criar um ambiente de projeto para python
# macOS/Linux
pip3 install virtualenv
#linux
sudo apt-get install python3-venv # If needed
python3 -m venv env
# Windows
py -3 -m venv env
12
![Page 13: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/13.jpg)
Ativar o ambiente
source env/bin/activate
env\scripts\activate (Windows)
Instalar o flask
# macOS/Linux
pip3 install flask
# Windows
pip install flask
13
Mini-tutorial de Flask - II
![Page 14: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/14.jpg)
14
Mini-tutorial de Flask - IIIEditar o arquivo app.py com o seguinte
conteúdo
Executar o programa:
python3 -m flask run (MacOS/Linux)
python -m flask run (Windows)
![Page 15: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/15.jpg)
No Terminal, executar:
python3 app.py (MacOS/Linux)
python app.py (Windows)
15
Tutorial Flask Rest - APIReferência https://flask-restful.readthedocs.io/en/latest/quickstart.html
![Page 16: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/16.jpg)
ReferênciasRepositório da Lista de Compras usando flask: https://github.com/miklt/lista-de-
compras-backend
Flask: https://code.visualstudio.com/docs/python/tutorial-flask
Flask Rest API https://flask-restful.readthedocs.io/en/latest/quickstart.html
16
![Page 17: Arquitetura MVC€¦ · Title: Arquitetura MVC Author: Lucia Filgueiras Created Date: 4/3/2019 9:15:38 AM](https://reader033.fdocument.pub/reader033/viewer/2022060816/609506f3c455a12b4b4838aa/html5/thumbnails/17.jpg)
Demo
17