Sobes.tech
Middle

MVVM memarlıq nümunəsi nədir?

sobes.tech Süni İntellekt

AI-dan cavab

MVVM (Model-View-ViewModel) memarlıq nümunəsidir və istifadəçi interfeysini (View) və biznes məntiqini (Model) aralıq qat — ViewModel vasitəsilə ayırır.

Komponent Təsviri Məqsəd
Model Məlumatları və biznes qaydalarını təmsil edir. Məlumatları təmin edir, View və ViewModel-dən asılı deyil.
View İstifadəçi interfeysini göstərir. Vizualizasiya və istifadəçi ilə qarşılıqlı əlaqə üçün məsuliyyət daşıyır.
ViewModel Təqdimat məntiqini ehtiva edir, Model-dən alınan məlumatları View üçün çevirir. View və Model-i bağlayır, komandalar və xüsusiyyətlər ehtiva edir.

MVVM-də, View və ViewModel arasındakı əlaqə məlumat bağlama (data binding) mexanizmləri vasitəsilə həyata keçirilir. View, ViewModel-dəki xüsusiyyətlərdəki dəyişikliklərə "abunə" olur və ViewModel bu dəyişiklikləri View-ə bildirir. İstifadəçinin View ilə qarşılıqlı əlaqəsi (məsələn, düyməyə klik) ViewModel-dəki komandayı çağırır.

Üstünlüklər:

  • Məsuliyyətlərin bölünməsi: UI, biznes məntiqi və təqdimat məntiqinin aydın bölünməsi.
  • Test ediləbilərlik: ViewModel, View-dən müstəqil asanlıqla test edilə bilər.
  • Baxım asanlığı: sistemdəki dəyişikliklər digər hissələrə az təsir edir.
  • İnkişaf: ön və arxa tərəf inkişafçıları paralel işləyə bilər.

Məlumat bağlama konseptinə nümunə (pseudo-kod):

// ViewModel
class CounterViewModel {
  count = 0; // müşahidə olunan xüsusiyyət

  increment() {
    this.count++; // dəyişiklik bildirişini aktivləşdirir
  }
}

// View (sadə təqdimat)
<button onclick="viewModel.increment()">+</button>
<span data-bind="textContent: viewModel.count"></span> // span məzmununu viewModel.count ilə bağlayır