1

Bu yazımda MVVM Design Pattern’i açık bir şekilde sizlere anlatacağım. Genelde bir uygulamayı yazarken geleceğini düşünmeden yazarız, buna bir çeşit alışkanlık diyebiliriz. Eğer ilk kez bir Design Pattern ile uğraşacaksanız ilk tepkiniz: “ne gerek var buna ya ben zaten aynısını daha kısa sürede bildiğim yöntemle yapıyorum” olacak, benim de olmuştu :) Ama yazacağınız uygulama büyük ve geliştirilebilir bir uygulama olacaksa bu klasik yöntemden vazgeçmeniz gerekecek. Neden mi?

Çünkü;

  • Tüm uygulama mantıklarını sayfanın .cs uzantılı dosyasına yazacağınız için ileride geliştirme aşamasında kodlar içinde kaybolacaksınız.
  • XAML’i modifiye etmek veya değiştirmek için ekstra çaba sarf edeceksiniz.
  • Arkada çok fazla kod olacağı için, en ufak bir arayüz değişikliğinde gereksiz zaman kaybedeceksiniz.
  • Sayfada gösterilecek bilgiler bir Data servisten geliyorsa, bunun tasarım sırasında görünümünü göremeyeceksiniz, doğal olarak tasarımınızı çok fazla geliştiremeyeceksiniz.

 Peki nedir bu MVVM?

MVVM,  MVC’nin bir çeşit XAML’a uyarlanmış hali diyebiliriz. Bu yüzden MVC ile benzer yanları çoktur, eğer MVC ile uğraşanlarınız varsa MVVM’e adapte olmak o kadar da zor olmayacak. MVVM ‘i farklı kılan nokta ise, Data Binding, ViewModel ve View ile arasında olan çift taraflı iletişim. MVVM’i XAML ve .NET kullanılan her uygulamada kullanmak mümkün.( Windows Phone, Windows Store)

MVVM 3 yapıdan oluşmakta;


Resim-1

Model, business logic dediğimiz uygulamanın mantığını ve gerekli tüm servisleri kapsar.

View, arayüzdür, yani son kullanıcının gördüğü kısımdır.

ViewModel, bu iki yapı arasındaki iletişimi sağlar, ViewModel için en güzel yakıştırma orkestra şefi olabilir, uygulamayı koordine eden en önemli yapı dersek yanlış olmaz sanırım.


Resim-2

Genelde her bir View, bir ViewModel’a sahiptir. Böylece bağımlılık minimuma yaklaşmış olur. View-ViewModel arasında çift yönlü iletişim: Data Binding vardır, ViewModel-Model arasında ise klasik metot çağırmalar mevcuttur.

Bu 3 yapı sayesinde MVVM, business logic ile arayüzü birbirinden ayırır, bu sayede tasarımcı bir yandan tasarımını yaparken, developerda arkadaki işlemleri yapar. Bu aynı zamanda MVVM’in kullanım amacıdır. Böylece uygulamanın geliştirilmesi ve  test edilmesi kolaylaşır.

Bir sonraki yazımda, Windows Phone 8’de MVVM Design Pattern’in kullanılırlığını gösteren örnek bir uygulama üzerinden anlatıma devam edeceğim.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

Bu İçeriğe Tepkin Ne Oldu?
  • 1
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 1
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 1
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Maltepe Üniversitesi Yazılım Mühendisliği öğrencisiyim. Okul dışında Microsoft teknolojilerine ilgimden dolayı kendimi bu alanda geliştiriyorum. İlgi alanım Windows Phone ve Windows 8 başta olmak üzere Microsoft teknolojileri.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. 09/02/2015

    Daha Açıklayıcı Olamazdı Çok Teşekkürler.

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir