Junior — Middle
Poderia explicar o conceito do padrão MVVM e seus componentes principais?
sobes.tech IA
Resposta da IA
MVVM (Model-View-ViewModel) é um padrão arquitetónico que separa a lógica de apresentação e a lógica de negócio para facilitar a manutenção e os testes das aplicações.
- Model — contém dados e lógica de negócio, responsável pelo trabalho com os dados (por exemplo, modelos de dados, serviços).
- View — responsável por mostrar a interface ao utilizador, contém os elementos visuais.
- ViewModel — intermediário entre Model e View, contém a lógica de apresentação, transforma os dados do Model num formato adequado para a View e gere as ações do utilizador.
O ViewModel geralmente implementa mecanismos de notificação de alterações (por exemplo, INotifyPropertyChanged em C#) para que a View seja atualizada automaticamente quando os dados mudam.
Exemplo de um ViewModel simples em C#:
public class PersonViewModel : INotifyPropertyChanged
{
private string name;
public string Name
{
get => name;
set
{
if (name != value)
{
name = value;
OnPropertyChanged(nameof(Name));
}
}
}
public event PropertyChangedEventHandler PropertyChanged;
protected void OnPropertyChanged(string propertyName) =>
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
}