Android MVVM (Model-View-ViewModel) Architecture Nedir?

Ferhat ÖZÇELİK
2 min readJan 15, 2023

--

MVVM mimarisini bir örnek senaryo üzerinden göstermek istiyorum:

Diyelim ki bir uygulamamız var ve bu uygulamada kullanıcılar bir liste sayfasında ürünleri görüntüleyebiliyorlar. Bu senaryoda, MVVM mimarisi şu şekilde uygulanabilir:

  1. Model bileşeni: Bu bileşen, uygulamanın verilerini depolar ve işler. Bu senaryoda, ürünlerin verilerini bir veritabanında veya bir web API’de depolayabiliriz.
  2. View bileşeni: Bu bileşen, kullanıcının ürünleri görüntülediği bir liste sayfasını içerir. Liste sayfası, RecyclerView kullanılarak oluşturulabilir.
  3. ViewModel bileşeni: Bu bileşen, Model ve View arasındaki arabirimdir. ViewModel, kullanıcının gereksinimlerine göre Model verilerini işler ve kullanıcı arayüzünde görüntülenmesi için hazırlar. Bu senaryoda, ViewModel, ürünleri Model bileşeninden alacak ve RecyclerView’a göstermek için View bileşenine hazırlayacak.

MVVM mimarisi, View bileşeni ile ViewModel bileşeni arasında bir veri bağlama mekanizması kullanır. Bu veri bağlama mekanizması, ViewModel’in model verilerini doğrudan görüntülemesi gerekmeksizin, kullanıcı arayüzüne veri sağlar.

Bu senaryoda, ViewModel, Model bileşeninden ürünleri alacak ve RecyclerView’a göstermek için gerekli işlemleri yapacaktır. Kullanıcı arayüzü, RecyclerView’ı dinleyecek ve ViewModel’deki değişiklikleri gözlemleyecektir. Herhangi bir değişiklik olduğunda, ViewModel, View bileşenine güncellenmiş verileri gönderecektir.

Bu yapı, uygulama kodlarının daha anlaşılır ve bakımı kolay hale gelmesine yardımcı olur. Ayrıca, MVVM mimarisi, test edilebilir ve yeniden kullanılabilir kod yazmak için iyi bir yöntem sağlar.

Özetle, bu örnek senaryoda, Model bileşeni verileri depolar ve işler, View bileşeni kullanıcı arayüzünü görüntüler ve ViewModel bileşeni Model ve View bileşenleri arasında bir arabirim sağlar. Bu bileşenler arasındaki veri bağlama mekanizması, kullanıcı arayüzünde otomatik olarak güncellenen bir uygulama sağlar.

Yazma Vakti…

İlk olarak, RecyclerView kullanarak bir liste sayfası oluşturacağız. Listemizde ürünlerin adı, fiyatı ve resmi olacak. Ürünlerin verileri, bir veritabanından veya web API’den alınabilir. Bu örnekte, basit bir string dizisi kullanarak verileri simüle edeceğiz.

1. build.gradle dosyasına aşağıdaki bağımlılıkları ekleyin

2. activity_main.xml dosyasını oluşturun:

3.product_item.xml adında bir görünüm dosyası oluşturun:

4.Ürünleri temsil eden bir Product sınıfı oluşturun:

5.ProductAdapter adında bir RecyclerView.Adapter sınıfı oluşturun:

6.MainActivity sınıfını oluşturun:

7.ProductViewModel sınıfını oluşturun:

Bu örnek proje ile, MVVM mimarisini kullanarak basit bir ürün listesi uygulaması geliştirdik. ViewModel, LiveData ve RecyclerView gibi bileşenler, veri modellemesi, veri bağlama ve kullanıcı arayüzü ile ilgili görevleri birbirinden ayırarak kodu daha okunaklı ve yönetilebilir hale getirdi. Sizde bu örnek projeyi referans alarak MVVM mimarisi ile uygulama geliştirebilirsiniz.

Daha Farklı Prejeler İçin:
https://github.com/ferhatozcelik/Basic-Dictionary

Originally published at Ferhat ÖZÇELİK.

--

--

No responses yet