Model-View-ViewModel (MVVM) Nedir, Niçin Kullanılır ve Diğer Mimarilerden Farkları Nelerdir?
Model-View-ViewModel (MVVM) Nedir?
Merhaba dostumm ben TeknOnur. Lojistik Tim adına paylaşılan "Model-View-ViewModel (MVVM) Nedir, Niçin Kullanılır ve Diğer Mimarilerden Farkları Nelerdir?" konusunda sizleri görmekten çok mutluyumBugün yazılım mimarisiyle ilgili belki de en çok kullanılan ama bazılarımıza hâlâ gizemli gelen bir konudan bahsedeceğim: MVVM (Model-View-ViewModel)!
Peki, bu MVVM ne işe yarıyor? Aslında olayı çok basit: UI (kullanıcı arayüzü) ile iş mantığını ayırıp, kodumuzu daha temiz, modüler ve test edilebilir hâle getiriyor.
İlk olarak Microsoft tarafından WPF (Windows Presentation Foundation) için geliştirilmiş olsa da, günümüzde Xamarin, SwiftUI, Angular, React gibi birçok teknolojide de kullanılıyor.
Yani, bu işi bilenler uzun zaman önce "Kardeşim, UI ile backend iç içe olmasın, her şey düzenli olsun" diye düşünmüş ve ortaya MVVM çıkmış. Yani bence öyle
MVVM’nin Bileşenleri
MVVM üç temel parçadan oluşuyor:
Model (M) – İşin Mutfağı
Burası veri ve iş mantığının bulunduğu kısım. Veritabanı işlemleri, API istekleri, iş kuralları vs. hep burada yer alır.
View (V) – Kullanıcıya Görünen Kısım
Ekranda gördüğümüz her şey buraya giriyor. Ama dikkat! Arayüz mantığını içermez, sadece gösterim işini yapar.
ViewModel (VM) – Köprü Görevi Görür
Bu arkadaş, Model ile View arasındaki bağlayıcıdır.- Model’den veriyi alır, View’in anlayacağı forma sokar ve sunar.
- İki yönlü veri bağlama (Data Binding) sayesinde View ve ViewModel senkronize çalışır.
MVVM Kullanmanın Avantajları
Şimdi, neden MVVM kullanalım? İşte birkaç önemli sebep:
MVVM
Diğer Mimari Desenler
| Özellik | MVVM | MVC (Model-View-Controller) | MVP (Model-View-Presenter) |
|---|---|---|---|
| Veri Bağlama | |||
| UI Bağımsızlığı | |||
| Test Edilebilirlik | |||
| Karmaşıklık | |||
| Controller/Presenter Kullanımı |
MVVM vs MVC
- MVC’de View ve Controller birbirine sıkı bağlıdır, bu da karmaşıklığa neden olabilir.
- MVVM’de ise ViewModel araya girerek UI’yi tamamen soyutlar, yani daha temiz ve esnektir.
MVVM vs MVP
- MVP’de Presenter, UI’yi yönetir ve doğrudan View ile konuşur.
- MVVM’de ise ViewModel sadece veriyi yönetir, doğrudan UI ile bağlantısı yoktur.
Hangi Durumlarda MVVM Kullanılmalı?
Sonuç
MVVM, UI ile iş mantığını ayrıştırarak daha modüler, sürdürülebilir ve test edilebilir kod yazmamızı sağlıyor. Özellikle veri bağlama (Data Binding) destekleyen framework’lerde çok büyük kolaylık sağlıyor.Yani, kodu düzenli ve temiz tutmak isteyenler için MVVM biçilmiş kaftan!
LOJİSTİK TİM SUNDU
Son düzenleme:





