Mvvm (model-görünüm-görünüm modeli) nedir? -Extensions99

Model-View-ViewModel veya MVVM, Windows ve web grafik sunum yazılımındaki kullanıcı arayüzü kontrollerini ve program mantığını ayırmayı amaçlayan bir yazılım tasarım modelidir. Model-view-binder olarak da bilinen bu, kodun daha hızlı ve daha basit bir şekilde geliştirilmesi ve yeniden kullanılması için programları modüllere ayırmaya yardımcı olur.

Model Görüntüleme Denetleyicisi modelinden türetilen MVVM, bir uygulamanın test edilmesini, iyileştirilmesini, bakımını ve geliştirilmesini kolaylaştırmak için çeşitli geliştirme sorunlarının ele alınmasına yardımcı olur. Kullanıcı arayüzü tasarımcıları, bir uygulamanın parçalarını geliştirirken modeli daha kolay iş birliği içinde bulurlar.

MVVM kalıbı

MVVM deseninin üç bileşeni vardır: model, görünüm ve görünüm modeli.

model

Model, genellikle yapılar veya basit sınıflar olan uygulama verilerini tutar. Doğrulama ve iş mantığıyla birlikte bir veri modeli içeren uygulamanın etki alanı modelinin bir temsili olarak düşünülebilir. Model nesnelerinin örnekleri, Düz Eski CLR Nesneleri (POCO'lar), veri aktarım nesneleri (DTO'lar) ve oluşturulan varlık ve proxy nesneleridir.

Bak

Görünüm, kullanıcıların ekranda gördüklerinin düzenini, yapısını ve görünümünü tanımlar. Son kullanıcıların aşina olduğu ve etkileşimde bulunduğu tek şey budur. MVVM'de görünüm etkindir, yani sunum yapan kişi / denetleyici tarafından tamamen değiştirilmemiştir. Temel model ve görünüm modeli hakkında bilgi gerektiren olaylara, davranışlara ve veri bağlamalarına sahiptir.

Modeli Görüntüle

Görünüm modeli, görünümle etkileşim için kontrolleri barındıran model ve görünüm katmanları arasında yer alır. Sunum Ayrımı veya görünüm nüanslarını modelden ayrı tutma fikrini tanıtır. Görünüm modeli, komutları ve yöntemleri ortaya çıkarır ve görünümün durumunu korumaya, görünümdeki olayları tetiklemeye ve modeli manipüle etmeye yönelik noktaları gösterir.

MVVM'nin Faydaları

Yazılım tasarımcıları, avantajları nedeniyle MVVM'yi tercih ediyor:

uzayabilirlik

MVVM, tasarımcıların yeni kod parçalarını eklemesini veya değiştirmesini kolaylaştırır. Kod tamamen XAML'de olduğu sürece koda dokunmadan uygulama kullanıcı arayüzünü yeniden tanımlayabilirler.

Testedilebilirlik

Tasarımcıların MVVM ile çekirdek mantığına karşı birim testleri yazması daha kolaydır. Görünüm modelinin birim testleri, görünüm tarafından kullanılan aynı işlevselliği uygular.

İletişimde şeffaflık

Görünüm modeli, görünüm denetleyicisine görünüm katmanını doldurması ve model katmanıyla etkileşim kurması için şeffaf bir arayüz sağlar. Bu, bir uygulamanın katmanları arasında şeffaf iletişimle sonuçlanır.