Middle
MVVM mimari deseni nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
MVVM (Model-Görünüm-ModelView) mimari bir desen olup, kullanıcı arayüzü (View) ile iş mantığını (Model) ara katman olan ViewModel aracılığıyla ayırır.
| Bileşen | Açıklama | Amaç |
|---|---|---|
| Model | Veri ve iş kurallarını temsil eder. | Veriyi sağlar, View ve ViewModel'den bağımsızdır. |
| View | Kullanıcı arayüzünü gösterir. | Görselleştirme ve kullanıcıyla etkileşimden sorumludur. |
| ViewModel | Görünüm mantığını içerir, Model'den alınan verileri View için dönüştürür. | View ve Model'i bağlar, komutlar ve özellikler içerir. |
MVVM'de, View ile ViewModel arasındaki bağlantı veri bağlama (data binding) mekanizmalarıyla sağlanır. View, ViewModel'deki özelliklerdeki değişikliklere "abone" olur ve ViewModel, bu değişiklikleri View'e bildirir. Kullanıcının View ile etkileşimi (örneğin, butona tıklama) ViewModel'deki komutu tetikler.
Avantajlar:
- Sorumlulukların ayrılması: UI, iş mantığı ve görünüm mantığının net ayrımı.
- Test edilebilirlik: ViewModel, View'den bağımsız olarak kolayca test edilebilir.
- Bakım kolaylığı: Sistem içindeki değişiklikler diğer bölümleri daha az etkiler.
- Geliştirme: Ön yüz ve arka yüz geliştiricileri paralel çalışabilir.
Veri bağlama kavramına örnek (sözde kod):
// ViewModel
class CounterViewModel {
count = 0; // gözlemlenebilir özellik
increment() {
this.count++; // değişiklik bildirimini tetikler
}
}
// View (basitleştirilmiş temsil)
<button onclick="viewModel.increment()">+</button>
<span data-bind="textContent: viewModel.count"></span> // span içeriğini viewModel.count ile bağlar