Explique la principale différence entre les modèles architecturaux MVC et MVVM.
sobes.tech IA
Réponse de l'IA
La principale différence entre MVC (Modèle-Vue-Contrôleur) et MVVM (Modèle-Vue-ViewModel) réside dans la façon dont la liaison entre la vue (View) et la logique de l'interface est établie.
-
MVC : Le contrôleur reçoit l'entrée de l'utilisateur, met à jour le modèle, puis met à jour la vue. La View et le Controller sont étroitement liés, et la mise à jour de la View se fait généralement manuellement.
-
MVVM : Le ViewModel agit comme un intermédiaire entre la View et le Modèle. La View est liée aux propriétés du ViewModel via le mécanisme de data binding, ce qui permet de mettre à jour automatiquement l'interface utilisateur lors de la modification des données sans appel explicite de mise à jour.
Exemple en C# utilisant MVVM et data binding :
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));
}
Ici, le ViewModel notifie la View des changements, ce qui simplifie la synchronisation des données et de l'UI.