MVVM (Model-View-ViewModel) Nedir? - SSTTEK Academy

MVVM (Model-View-ViewModel)

MVVM (Model-View-ViewModel), bir yazılım tasarım desenidir ve özellikle kullanıcı arayüzü geliştirmek için yaygın olarak kullanılır. MVVM, Model-View-Controller (MVC) deseninden türetilmiştir ve modern uygulama geliştirme yaklaşımlarında sıkça tercih edilir. MVVM’nin temel bileşenleri şunlardır:

Model:

  • – Model, uygulamanın veri katmanını temsil eder. Genellikle veritabanıyla veya dış kaynaklarla (API’ler, dosya sistemleri vb.) iletişim kurar ve verilerin işlenmesi, saklanması ve alınması için mantıksal işlemleri gerçekleştirir.
  • – Model, genellikle basit veri nesneleri (POJOs – Plain Old Java Objects, DTOs – Data Transfer Objects vb.) şeklinde temsil edilir.

View (Görünüm):

  • View, kullanıcı arayüzünü temsil eder. Kullanıcı arayüzü, kullanıcıya veri göstermek ve kullanıcı etkileşimlerini (tıklamalar, dokunmalar, klavye girişleri vb.) almak için kullanılır.
  • View, genellikle XML dosyaları (Android için) veya HTML, CSS ve JavaScript kodları (web için) gibi dosyalarla tanımlanır.

ViewModel (Görünüm Modeli):

  • ViewModel, View ve Model arasında bir bağlantıdır. View tarafından görüntülenecek olan verileri sağlar ve kullanıcı etkileşimlerini işler.
  • Modeli kullanarak gerekli verileri alır, işler ve View’a sunar.
  • ViewModel, genellikle kullanıcı arayüzü mantığı, durumu ve davranışı gibi konuları yönetir.
  • ViewModel, View’a bağımlı değildir, bu nedenle View’un yeniden kullanılabilirliğini artırır ve test edilebilirlik sağlar.

MVVM deseni, Model, View ve ViewModel arasındaki ilişkileri düzenler ve bu bileşenler arasındaki bağımlılıkları azaltır. Bu, kodun daha modüler, bakımı daha kolay ve yeniden kullanılabilir olmasını sağlar. MVVM deseni aynı zamanda test edilebilir kod yazmayı kolaylaştırır ve geliştirme sürecini daha verimli hale getirir. Bu nedenle, özellikle modern uygulama geliştirme platformlarında (örneğin, Android, iOS, web) MVVM deseni sıklıkla tercih edilir.

This website stores cookies on your computer.