Junior — Middle
Izskaidrojiet galveno atšķirību starp arhitektūras modeļiem MVC un MVVM.
sobes.tech AI
Atbilde no AI
Galvenā atšķirība starp MVC (Model-View-Controller) un MVVM (Model-View-ViewModel) ir tā, kā tiek izveidota saikne starp skatu (View) un lietotāja saskarnes loģiku.
-
MVC: Kontrolieris saņem lietotāja ievadi, atjauno modeli un pēc tam atjauno skatu. View un Controller ir cieši saistīti, un View atjaunošana parasti tiek veikta manuāli.
-
MVVM: ViewModel darbojas kā starpnieks starp View un Model. View ir saistīts ar ViewModel īpašībām, izmantojot datu sasaistes mehānismu, kas ļauj automātiski atjaunināt UI, mainoties datiem, bez skaidriem izsaukumiem.
Piemērs C# ar MVVM un datu sasaisti:
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));
}
Šeit ViewModel paziņo View par izmaiņām, kas atvieglo datu un UI sinhronizāciju.