Mind map
MVVM (Model-View-ViewModel)
Map content
MVVM (Model-View-ViewModel)
1) VIEW
- - CAMADA RESPONSÁVEL POR TODA LÓGICA REFERENTE AOS COMPONENTES VISUAIS; - O OBJETIVO DESTA CAMADA É INFORMAR A CAMADA VIEWMODEL SOBRE A AÇÃO DO USUARIO; - CONHECE / SE RELACIONA COM A CAMADA VIEWMODEL ATRAVES DE UM BINDING; - NÃO CONHECE A CAMADA MODEL, OU SEJA, NÃO SE RELACIONA COM ELA.
- ACTIVITY/FRAGMENT
- TEXTVIEW, IMAGEVIEW, RECYCLERVIEW, CUSTOMVIEW, ETC...
2) VIEW MODEL
- - CAMADA RESPONSAVEL PELA LOGICA DE EXIBIÇÃO DAS INFORMAÇÕES , OU SEJA, SEU OBJETIVO É ARMAZENAR E GERENCIAR DADOS RELACIONADOS A UI; - ATUALIZA A CAMADA VIEW POR MEIO DE UMA NOTIFICAÇÃO FEITA NO MUTABLE LIVE DATA; - TRABALHA EM CONJUNTO COM A CAMADA MODEL PARA OBTER E SALVAR DADOS; - É RESPONSAVEL POR FAZER A COMUNICAÇÃO ENTRE AS CAMADAS MODEL E VIEW ATRAVES DO LIVEDATA. OU SEJA, É A CAMADA RESPONSÁVEL POR FAZER UMA PONTE ENTRE A CAMADA VIEW E MODEL ATRÁVES DO LIVEDATA, ASSIM FAZENDO COM QUE ELAS NÃO SE RELACIONEM DE MANIERA DIRETA; - ELA EXPOE OS FLUXOS DE DADOS QUE SÃO RELEVANTES PARA A CAMADA VIEW, ALEM DE FUNCIONAR COMO UM ELO ENTRE A CAMADA MODEL E A CAMADA VIEW, DE MODO QUE AMBAS NÃO SE RELACIONEM DIRETAMENTE.
- MUTABLE LIVE DATA
- O MUTABLE LIVE DATA É O RESPONSÁVEL POR E OBSERVAR E ESPERAR A CHAMADA/CONSULTA AO BACKEND QUE SERÁ FEITA LA NO REPOSITORY E, EM SEGUIDA, VIR PRA CA. COMO ELE É MUTÁVEL, SEU PAPEL É FICAR ESPERANDO ATE VIR ALGUM DADO NOVO, E QUANDO VIER, ELE VAI AGIR E CAPTURA-LO. EM SEGUIDA ELE VAI ARMAZENAR ESSE DADO NOVO NUMA LISTA. POR FIM, ELE ENVIA ESSA LISTA (AGORA ATUALIZADA) PARA A CAMADA DE -VIEW- PARA QUE SEJA EXIBIDA NA TELA EM UMA RECYCLERVIEW, POR EXEMPLO.
- LIVE DATA
3) MODEL
- - CAMADA MODEL: É FORMADA POLAS SUB-CAMADAS REPOSITORY E DATA SOURCE (QUE PODE SER LOCAL OU REMOTO) - NÃO CONHECE A CAMADA VIEW, OU SEJA, NÃO SE RELACIONA COM ELA; - CAMADA RESPONSÁVEL POR TODA LOGICA REFERENTE A REGRA DE NEGOGIO; - TRABALHA EM CONJUNTO COM A CAMADA VIEWMODEL PARA OBTER E SALVAR DADOS;
- REPOSITORY
- SEU OBJETIVO É FAZER UMA PONTE PARA O DATA SOURCE (BANCO DE DADOS, LOCAL OU REMOTO). É AQUI DENTRO QUE É FEITO A UNIÃO ENTRE A INTERFACE DA API (QUE CONTEM A ROTA URL DO LINK DA API) E A REST API TASK (QUE CONTEM A URL BASE DO LINK DA API) E, COM ESSA UNIÃO, ACONTECE A REQUISIÇÃO DE DADOS DO WEBSERVICE (BANCO REMOTO)
- DATA SOURCE
- ESSA SUB-CAMADA É ONDE SE ENCONTRA NOSSA FONTE DE DADOS (BANCO DE DADOS), QUE PODEM SER LOCAIS OU REMOTAS.
- MODEL - ROOM (CASO FOR BANCO LOCAL)
- SQLITE - BANCO DE DADOS LOCAL
- REMOVE DATA SOURCE - RETROFIT
- API
- SUB-CAMADA! AQUI COMEÇAREMOS A TRABALHAR COM O RETROFIT
- INTERFACE
- RESPONSÁVEL POR ARMAZENAR A ROTA DO LINK DA NOSSA API DE CONSULTA QUE PODE SER ACESSADA USANDO UM @GET E QUE RETORNA A NOSSA LISTA DE DADOS.
- REST API TASK
- RESPONSÁVEL POR ARMAZENAR A URL BASE DO LINK DA NOSSA API DE CONSULTA E TRADUZI-LA (VIA CONVERTER FACTORY) TODOS OS DADOS EM JSON QUE ESTAO ESCRITOS LA, PARA QUE ASSIM, A MAQUINA CONSIGA ENTENDER.
- WEBSERVICE - BANCO DE DADOS REMOTO
- API
Information
- Description
- Mind Map on MVVM (Model-View-ViewModel), created by James Saboia Jr on 21/04/2022.
- Created by
- James Saboia Jr · Apr 2022
- Updated
- Aug 31, 2022
- Views
- 1
- Rating