Тавзеҳ диҳед фарқи асосии байни намунаҳои меъмории MVC ва MVVM.
sobes.tech AI
Ҷавоб аз AI
Асосӣ фарқ байни MVC (Model-View-Controller) ва MVVM (Model-View-ViewModel) дар он аст, ки чӣ гуна пайванди байни намоиш (View) ва логикаи интерфейс ба амал меояд.
-
MVC: Контроллер воридоти корбарро қабул мекунад, моделро навсозӣ мекунад ва сипас намоишро навсозӣ мекунад. View ва Controller дар ҳамдигар сахт пайваст шудаанд, ва навсозии View одатан дастӣ анҷом дода мешавад.
-
MVVM: ViewModel ҳамчун миёнарав байни View ва Model амал мекунад. View бо хусусиятҳои ViewModel тавассути механизмҳои data binding пайваст мешавад, ки имкон медиҳад, ки UI автоматӣ дар вақти тағирёбии маълумот навсозӣ шавад, бе даъватҳои ошкоро.
Масалан дар C# бо истифода аз MVVM ва 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));
}
Инчунин, ViewModel огоҳ мекунад, ки маълумот ва UI ҳамоҳанг бошанд, ки ин корро осон мекунад.