Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Akıcı bağlar, İsviçre/Tibet bağlamalarına kıyasla iki yönlü veri bağlayıcıyı nasıl ele alıyor?


Akıcı bağlar, İsviçre/Tibet bağlamalarına kıyasla iki yönlü veri bağlayıcıyı nasıl ele alıyor?


Akıcı bağlar ve İsviçre/Tibet bağları, platformlar arası geliştirme için kullanılan MVVMCross çerçevesinin bir parçasıdır. Her iki yöntem de veri bağlamasını kolaylaştırırken, özellikle iki yönlü veri bağlanmasını nasıl ele aldıklarında sözdizimi ve kullanım bakımından farklılık gösterirler.

Akıcı Bağlamalar

MVVMCross'taki akıcı bağlar, görünüm ve viewModel arasında verileri bağlamak için daha modern ve esnek bir yol sağlar. Okunması ve yazılması daha kolay olan akıcı bir sözdizimine izin verir, bu da geliştiricilerin karmaşık bağlamaları yönetmesini daha kolay hale getirir. İki yönlü veri bağlanması bağlamında, akıcı bağlar, her iki taraf da değiştiğinde otomatik olarak güncelleyerek görünüm ve ViewModel arasında kesintisiz etkileşimi mümkün kılar. Bu, özellikle gerçek zamanlı senkronizasyonun önemli olduğu formları düzenlemek için yararlıdır.

Akıcı bağlar, görünüm ve viewModel arasındaki veri türleri farklı olduğunda iki yönlü veri bağlanması için gerekli olan değer dönüştürücüleri destekler. Bu dönüştürücüler, veri dönüşümlerini her iki yönde de işlemek için hem `` Convert` hem de `ConvertBack 'yöntemlerini uygular [7].

Swiss/Tibet Bağlamaları

İsviçre ve Tibet bağları, veri bağlama için MVVMCross'ta kullanılan eski sözdizimlerdir. Ayrıca iki yönlü veri bağlanmasını destekler, ancak farklı bir sözdizimine sahiptirler. Örneğin, İsviçre sözdizimi, görünümdeki hedef özelliğin ViewModel'deki bir kaynak yoluna bağlı olduğu basit bir biçim kullanır. İki yönlü bağlamayı desteklerken, karmaşık senaryolar için akıcı bağlamalar kadar esnek veya okunabilir olmayabilir.

İsviçre bağları, tek yönlü, iki yönlü veya tek seferlik bağlamalar içerebilen bağlanma modunun açıkça belirtilmesini gerektirir. Bununla birlikte, akıcı bağlamaların yaptığı gibi değer dönüştürücülerle aynı esneklik seviyesini sunmayabilirler.

Karşılaştırmak

- Sözdizimi ve okunabilirlik: Akıcı bağlar, özellikle karmaşık senaryolarda genellikle daha okunabilir ve yönetilmesi daha kolaydır. İsviçre/Tibet Bağlamaları daha basit bir sözdizimine sahiptir, ancak esnek olmayabilir.

- Değer dönüştürücülerle esneklik: Akıcı bağlar, değer dönüştürücülerle uğraşırken, veri türleri görünüm ve viewModel arasında farklılık gösterdiğinde iki yönlü veri bağlanması için çok önemli olan daha esnektir.

- Kullanım: Her iki yöntem de iki yönlü veri bağlanmasını destekler, ancak akıcı bağlamalar, okunabilirlik ve esneklikleri nedeniyle modern uygulamalarda daha yaygın olarak kullanılır.

Özetle, hem akıcı hem de İsviçre/Tibet bağları iki yönlü veri bağlamasını desteklerken, akıcı bağlamalar daha modern, esnek ve okunabilir bir yaklaşım sunarak karmaşık uygulamalar için tercih edilebilir hale getirir.

Alıntılar:
[1] https://www.reddit.com/r/javascript/comments/v993r4/askjs_why_is_oneway_binding_better_than_twoway/
[2] https://medium.datadrivenvestor.com/implementing-two-way-data-bithout-using-any-framework-703963d00a94
[3] https://www.bennadel.com/blog/3538-the-irational-demonization-ofway-data-binding-in-angular.htm
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://www.telerik.com/blogs/angular-basics-data-binding-part-8-twway-data-binding
[6] https://handstable.com/blog/understanding-data-binding-in-react
[7] https://stackoverflow.com/questions/19712103/fluent-binding-and-onversversions
[8] https://www.telerik.com/blogs/blazor-basics-data-binding