Junior — Middle
Pode explicar a ideia principal do modelo MVVM e como ele ajuda na organização do código?
sobes.tech IA
Resposta da IA
MVVM (Model-View-ViewModel) — padrão arquitetónico que divide a lógica da aplicação em três partes:
- Model — dados e lógica de negócio.
- View — interface de utilizador que exibe os dados.
- ViewModel — intermediário entre o Model e a View, que contém a lógica de apresentação e o estado da UI.
A ideia principal é separar a UI da lógica de negócio, para que a View seja o mais simples possível e apenas responsável pela apresentação, enquanto que o ViewModel prepara os dados e trata dos eventos.
No Android, isto ajuda a:
- Simplificar os testes da lógica (o ViewModel não depende da UI do Android).
- Tornar o código mais fácil de manter e ler.
- Utilizar Data Binding ou LiveData para atualizar automaticamente a UI ao alterar os dados.
Exemplo de uso de LiveData no ViewModel:
class MyViewModel : ViewModel() {
val data = MutableLiveData<String>()
fun loadData() {
// carregamento de dados e atualização do LiveData
data.value = "Olá, MVVM!"
}
}
A View subscreve-se às alterações em data e atualiza a interface automaticamente.