Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Wie werden fließende Bindungen im Vergleich zu Schweizer/Tibet-Bindungen mit einer Zwei-Wege-Datenbindung umgehen


Wie werden fließende Bindungen im Vergleich zu Schweizer/Tibet-Bindungen mit einer Zwei-Wege-Datenbindung umgehen


Fluent-Bindungen und Schweizer/Tibet-Bindungen sind beide Teil des MVVMCross-Gerüsts, das für die plattformübergreifende Entwicklung verwendet wird. Während beide Methoden die Datenbindung erleichtern, unterscheiden sie sich in der Syntax und Verwendung, insbesondere bei der Umstellung von Zwei-Wege-Datenbindung.

fließende Bindungen

Fluent -Bindungen in mvvmcross bieten eine modernere und flexiblere Möglichkeit, Daten zwischen Ansicht und ViewModel zu binden. Sie ermöglichen eine fließende Syntax, die leichter zu lesen und zu schreiben ist und es den Entwicklern einfacher macht, komplexe Bindungen zu verwalten. Im Kontext der Zwei-Wege-Datenbindung ermöglichen fließende Bindungen eine nahtlose Wechselwirkung zwischen Ansicht und ViewModel, indem sie bei beiden Seiten automatisch aktualisiert werden. Dies ist besonders nützlich für die Bearbeitung von Formularen, bei denen die Echtzeit-Synchronisation von entscheidender Bedeutung ist.

Fluent-Bindungen unterstützen Wertkonverter, die für die Zwei-Wege-Datenbindung wesentlich sind, wenn sich die Datentypen zwischen Ansicht und ViewModel unterscheiden. Diese Konverter implementieren sowohl "konvertierte" als auch "convertback" -Methoden, um Datentransformationen in beide Richtungen zu verarbeiten [7].

Schweizer/Tibet -Bindungen

Schweizer- und Tibet -Bindungen sind ältere Syntaxe, die in mvvmcross zur Datenbindung verwendet werden. Sie unterstützen auch die Bindung von Zwei-Wege-Daten, jedoch mit einer anderen Syntax. Die Schweizer Syntax verwendet beispielsweise ein einfaches Format, bei dem die Zieleigenschaft in der Ansicht mit einem Quellpfad im ViewModel verbunden ist. Es unterstützt zwar eine bidreihige Bindung, aber es ist möglicherweise nicht so flexibel oder lesbar wie fließende Bindungen für komplexe Szenarien.

Schweizer Bindungen erfordern bei Bedarf den Bindungsmodus explizit, der Einweg-, Zwei-Wege-oder einmalige Bindungen umfasst. Sie bieten jedoch möglicherweise nicht die gleiche Flexibilität bei Wertwandlern wie fließende Bindungen.

Vergleich

- Syntax und Lesbarkeit: Fluent -Bindungen sind im Allgemeinen lesbar und einfacher zu verwalten, insbesondere in komplexen Szenarien. Schweizer/Tibet -Bindungen haben eine einfachere Syntax, sind jedoch möglicherweise nicht so flexibel.

- Flexibilität mit Wertkonverter: Fluent-Bindungen sind flexibler beim Umgang mit Wertkonvertern, die für die Zwei-Wege-Datenbindung von entscheidender Bedeutung sind, wenn sich Datentypen zwischen Ansicht und ViewModel unterscheiden.

- Verwendung: Beide Methoden unterstützen die Zwei-Wege-Datenbindung, fließende Bindungen werden jedoch aufgrund ihrer Lesbarkeit und Flexibilität häufiger in modernen Anwendungen eingesetzt.

Zusammenfassend lässt sich sagen, dass sowohl fließende als auch Schweizer/Tibet-Bindungen Zwei-Wege-Datenbindung unterstützen, fließende Bindungen einen moderneren, flexibleren und lesbaren Ansatz bieten, wodurch sie für komplexe Anwendungen vorzuziehen sind.

Zitate:
[1] https://www.reddit.com/r/javascript/comments/v993r4/askjs_why_is_oneway_binding_better_than_twoway/
[2] https://medium.datadriveninvestor.com/Implementing-two-way-data-binding-without-using-any-framework-703963d00a94
[3] https://www.bennadel.com/blog/3538-on-the-rration-demonization-of-two-way-data-binding-in-angular.htm
[4] https://www.mvmcross.com/documentation/fundamentals/data-binding
[5] https://www.telerik.com/blogs/angular-basics-data-binding-spart-8-two-way-data-binding
[6] https://handsontable.com/blog/undanding-data-binding-in-react
[7] https://stackoverflow.com/questions/19712103/fluent-binding-and-conversions
[8] https://www.telerik.com/blogs/blazor-basics-data-binding