Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon MVVMCross'ta diğer bağlama modlarına bir kerelik bağlama kullanmanın faydaları nelerdir?


MVVMCross'ta diğer bağlama modlarına bir kerelik bağlama kullanmanın faydaları nelerdir?


MVVMCross'ta bir kerelik bağlama kullanmak, özellikle belirli senaryolarda, diğer bağlama modlarına göre çeşitli avantajlar sunar:

1. Azaltılmış Tepegöz: Bir kerelik bağlama, değişiklikleri sürekli olarak izlemeden, ViewModel'den görünüme bir değer ayarlamanız gerektiğinde kullanışlıdır. Bu, bir bağlamayı korumakla ilişkili ek yükü azaltır, çünkü çerçevenin ViewModel'den güncellemeleri dinlemesini gerektirmez. Bu, özellikle dil dosyalarından gelen metin gibi ayarlandıktan sonra değişmeyen statik veriler için yararlıdır [1] [3].

2. Geri dönüştürülmüş görünümlerde performans: Bir kerelik bağlar, `` mvxrecyclerview 'gibi geri dönüştürülmüş görünümlerde sorunlu olsa da, görünümlerin geri dönüştürülmediği veya verilerin statik olduğu ve dinamik olarak güncellenmesi gerekmeyen senaryolar için idealdir. Bununla birlikte, görünümlerin geri dönüştürüldüğü durumlarda, bir kerelik bağlar beklendiği gibi davranmayabilir, çünkü görünümler ekranda göründüğü gibi yeniden kullanılır ve toparlanır [7].

3. Basitleştirilmiş bağlayıcı altyapı: Bir kerelik bağlar yalnızca bağlayıcı bağlam değiştiğinde güncellendiğinden, kaynak özellik değişikliklerini izleme ihtiyacını ortadan kaldırarak bağlayıcı altyapıyı basitleştirirler. Bu, daha temiz kod ve sürekli güncellemelerle ilgili daha az potansiyel soruna yol açabilir [4].

4. Salt okunur veriler için uygun: Bir kerelik bağlama, başlatma süresinde bilinen ve değişmeyen salt okunur verileri görüntülemek için çok uygundur. Bu, verilerin bir kez ayarlandığı ve daha fazla güncellemeye ihtiyaç duymadığı restoran saatleri gibi statik bilgileri göstermek gibi senaryoları içerir [3].

5. Statik Verilerle Tutarlılık: Belirli verilerin statik olduğu ve sık sık değişmediği uygulamalarda, bir kerelik bağlanma, bu verilerin gereksiz güncellemeler olmadan doğru ayarlanmasını sağlar. Bu, sürekli izleme genel giderleri olmadan kullanıcı arayüzünde tutarlılığı korur [1] [3].

Özetle, MVVMCross'ta bir kerelik bağlama, sürekli güncellemeler gerektirmeyen statik verilerle uğraşırken, daha düşük ek yük ve basitleştirilmiş bağlanma yönetimi sunarken faydalıdır. Bununla birlikte, dinamik veya sık sık değişen veriler için veya görünümlerin geri dönüştürüldüğü senaryolarda uygun olmayabilir.

Alıntılar:
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://stackoverflow.com/questions/41768962/mvvmcross-default
[3] https://stackoverflow.com/questions/25460030/who-to-use-mvmcross-data-bindings
[4] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/binding-mode?view=net-maui-9.0
[5] https://www.mvvmcross.com/documentation/adved/custom-data-binding
[6] https://stackoverflow.com/questions/17156368/
[7] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxrecyclerview
[8] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[9] https://www.mvvmcross.com/documentation/fundament/viewmodel-lifecycle