MVVM - Avantajlar
MVVM kalıbı nihayetinde MVC modelinin modern yapısıdır, bu nedenle ana amaç, alan mantığı ve sunum katmanı arasında net bir ayrım sağlamak için hala aynıdır. MVVM modelinin bazı avantajları ve dezavantajları şunlardır.
Temel fayda, ayrılığa ulaşmanın ve buna sahip olmaktan elde ettiğiniz verimliliği elde etmenin ötesinde Görünüm ve Model arasında gerçek bir ayrıma izin vermektir. Bunun gerçek anlamda anlamı, modelinizin değişmesi gerektiğinde, görüşe ihtiyaç duymadan kolayca değiştirilebileceğidir ve bunun tersi de geçerlidir.
Aşağıdaki gibi MVVM uygulamasından çıkan üç önemli anahtar nokta vardır.
Sürdürülebilirlik
Farklı kod türlerinin temiz bir şekilde ayrılması, bu daha ayrıntılı ve odaklanmış bölümlerden birine veya birkaçına girmeyi ve endişelenmeden değişiklikler yapmayı kolaylaştırmalıdır.
Bu, çevik kalabileceğiniz ve yeni sürümlere hızla geçmeye devam edebileceğiniz anlamına gelir.
Test edilebilirlik
MVVM ile her bir kod parçası daha ayrıntılıdır ve doğru uygulanırsa, dış ve iç bağımlılıklarınız, test etmek istediğiniz çekirdek mantığa sahip parçalardan ayrı kod parçalarında olur.
Bu, temel bir mantığa karşı birim testleri yazmayı çok daha kolaylaştırır.
Yazıldığında doğru çalıştığından ve bakımda bir şeyler değiştiğinde bile çalışmaya devam ettiğinden emin olun.
Genişletilebilirlik
Temiz ayırma sınırları ve daha ayrıntılı kod parçaları nedeniyle bazen sürdürülebilirlikle çakışır.
Bu parçalardan herhangi birini daha yeniden kullanılabilir hale getirme şansınız daha yüksektir.
Aynı zamanda mimaride doğru yerlere benzer şeyler yapan yeni kod parçalarını değiştirme veya ekleme yeteneğine de sahiptir.
MVVM modelinin açık amacı, arka plan kodundaki iş mantığı miktarını azaltan Görünümün soyutlanmasıdır. Bununla birlikte, diğer bazı sağlam avantajlar şunlardır:
- ViewModel'in birim testi, arka planda kodlama veya olay odaklı koddan daha kolaydır.
- Garip UI otomasyonu ve etkileşimi olmadan test edebilirsiniz.
- Sunum katmanı ve mantık gevşek bir şekilde birleştirilmiştir.
Dezavantajları
- Bazı insanlar basit kullanıcı arayüzleri için MVVM'nin gereğinden fazla olabileceğini düşünüyor.
- Benzer şekilde daha büyük durumlarda, ViewModel'i tasarlamak zor olabilir.
- Karmaşık veri bağlamalarımız olduğunda hata ayıklama biraz zor olabilir.