MVVM(Model-View-ViewModel) Nedir?
MVVM aslında bir Design pattern(Tasarım deseni) yani mimari yapıdır. Kodlarımızı yazarken nasıl yazmamız gerektiği ile ilgili bize rehber olur. Tasarım desenlerinde MVVM gibi farklı mimariler de bulunur. Bunlardan bazıları MVC(Model-View-Controller),MVP(Model-View-Presenter) gibi mimarilerdir. Fakat son yıllarda sıklıkla duyduğumuz MVVM özellikle de Android-Ios UWP, WPF için uygulamalar geliştirirken tercih edilen yazılım mimarilerinden bir tanesidir.
MVVM Temelleri Nelerdir?
MVVM, Model, View ve ViewModel olmak üzere üç temel yapıdan oluşmaktadır. Haydi gelin bu temelleri öğrenelim :)
Model: Web servislerinden, veri tabanından ya da herhangi bir veri kaynağından gelen verilerimizi temsil etmek için kullanılır.
View: Bu kısım verilerimizi son kullanıcılara aktardığımız görsel arayüzdür. Son kullanıcı ile uygulama arasında bir köprü görevi görür.
Yani Fragment ve activitylerimiz bu package’da yer alır.
ViewModel:ViewModel ise görsel arayüz ile model arasında köprü görevi görmektedir, yani Model’i View’a bağlayan yapıdır. View ile Model arasında doğrudan bir etkileşim yoktur. View, ilgili işlemleri ViewModel üzerinden yapmaktadır. ViewModel’ın View’a direkt erişimi yoktur ve View ile ilgili hiçbir şey bilmez.