Sobes.tech
Junior — Middle

MVC ve MVVM mimari desenleri arasındaki temel farkı açıklayın.

sobes.tech yapay zeka

AI'dan gelen yanıt

MVC (Model-View-Controller) ile MVVM (Model-View-ViewModel) arasındaki temel fark, görünüm (View) ile arayüz mantığı arasındaki bağlantının nasıl kurulduğudur.

  • MVC: Kontrolcü, kullanıcı girişini alır, modeli günceller ve ardından görünümü günceller. View ve Controller sıkı bir şekilde bağlantılıdır ve View'un güncellenmesi genellikle manuel olarak yapılır.

  • MVVM: ViewModel, View ile Model arasında aracılık yapar. View, data binding mekanizması aracılığıyla ViewModel'in özelliklerine bağlanır, bu da verilerdeki değişiklikler olduğunda UI'nin otomatik olarak güncellenmesini sağlar, açıkça güncelleme çağrılarına gerek kalmadan.

C# kullanılarak MVVM ve data binding örneği:

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));
}

Burada, ViewModel değişiklikleri View'e bildirir, bu da veri ve UI senkronizasyonunu kolaylaştırır.