ben

OMÜ , Bilgisayar Mühendisliği, 13'

25 Ocak 2013 Cuma

SimpleMvvm Yapısı

     Simple Mvvm yapısı projede arayuz sorgulama ve arayuz kodlamalarının ayrı katmanlarda  düzenlenmesi ve birbirleri ile baglantılı olarak çalıstırılması denilebilir kısaca. Bu konuda internette arama yaptığımızda mantığını kolaylıkla anlayabiliriz. Ben burda teoriklikten ziyade mvvm yapısıyla bir proje nasıl olusturulur. Her katmanın kodlamaları birbirleri ile iletişimini ufak bir proje gelistirerek anlatmaya çalısacağım. Ama genel olarak 3 kısımdan olusan Model -ViewModel ve View kısmına biraz anlatmakta fayda var.

Model kısmı; veritabanın sorgulamalarıyla gelen bilgilerin nesne sınıflarına aktyarılması gereklidir. Bu nesne sınıfları(model) bu katmanda duzenlenmeli ve sorgulama sonucları bu modellere cevrilmelidir.

ViewModel kısmı: View katmanında hazırlanan arayüz parçalarının(buton,textbox ... vb) aldığı değişkenleri veya botun olaylarının tanımlandığı yani tüm arayuz arkaplan kodlamalrının yapıldığı kısımdır

View kısmı:  .xaml uzantılı arayüz tasarım kısmıdır.

Burda dikkat edilmesi gereken noktalar;
* View ile model direk iletişim kuramaz aradaki iletişimi viewModel katmanı sağlar.
* Her bir view sayfasının kendine özgü view modeli olusturulmalı.
* bir view model birden fazla view 'e bağlanabilir(fakat bu tum propertylerin ve olay sınıflarının karısması demektir teorik olarak sıkıntı olusturmaz fakat ileriki zamanlarda hangi property hangı view'in hangi aracına baglıydı gibi karısıklık olusturabilir)
* Bir View sadece bir tane ViewModele bağlanabilir.
* ViewModelede örneğin bir textbox'ın propertysinin tutulduğu değişken bir olayla değiştirilşdiğinde otomatik olarak view de bu property'e bağlı textbox'ın textide değişmektedir. Bu nedenle bir property sadece bir arayüz aracına bağlı olmalı.

  Uygulama projesini yapmaya başlayınca bazı şeyler daha iyi anlaşılabilir. Öncelikle SimpleMvvm Wpf projesini olusturabilmek için bilgisayarımıza aşağıdaki programların yuklu olması gerekli.

Kurulum dosyalarını buradan bulabilirsiniz.
1-SimpleMvvmInstaller.exe
2-WPFToolkit.msi

Hiç yorum yok: