Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Как переписки Fluent обрабатывают двустороннее связывание данных по сравнению со швейцарскими/тибетскими привязками


Как переписки Fluent обрабатывают двустороннее связывание данных по сравнению со швейцарскими/тибетскими привязками


Связывания Fluent и швейцарские/тибевые привязки являются частью структуры MVVMcross, которая используется для кроссплатформенного развития. В то время как оба метода облегчают связывание данных, они различаются по синтаксису и использованию, особенно в том, как они обрабатывают двустороннее связывание данных.

Fluent Bindings

Плавные привязки в MVVMcross обеспечивают более современный и гибкий способ связывания данных между View и ViewModel. Они позволяют провести синтаксис, который легче читать и писать, что упрощено для разработчиков управлять сложными привязками. В контексте двустороннего связывания данных привязки Fluent позволяют легко взаимодействовать между представлением и ViewModel путем автоматического обновления обеих сторон при изменении любой стороны. Это особенно полезно для редактирования форм, где синхронизация в реальном времени имеет решающее значение.

Плавные связки поддерживают преобразователи значений, которые необходимы для двустороннего привязки данных, когда типы данных между представлением и просмоткой различаются. Эти преобразователи реализуют как методы «преобразовать», так и методы «преобразовать» для обработки преобразований данных в обоих направлениях [7].

Swiss/Tibet Bindings

Швейцарские и тибетские привязки - это более старые синтаксисы, используемые в MVVMcross для связывания данных. Они также поддерживают двустороннее привязка данных, но с другим синтаксисом. Например, швейцарский синтаксис использует простой формат, в котором целевое свойство в представлении подключено к пути источника в ViewModel. Несмотря на то, что он поддерживает двустороннее связывание, оно может быть не таким гибким или читаемым, как плавники для свободных для сложных сценариев.

Швейцарские привязки требуют определения режима связывания явно, если это необходимо, что может включать в себя односторонние, двусторонние или одноразовые привязки. Тем не менее, они могут не предлагать такого же уровня гибкости с преобразователями значений, как и привязки.

Сравнение

- Синтаксис и читабельность: Fluent Bindings, как правило, более читаемы и легче управлять, особенно в сложных сценариях. Швейцарские/тибевые привязки имеют более простой синтаксис, но могут быть не такими гибкими.

- Гибкость с преобразователями значений: плавники бегли являются более гибкими при работе с преобразователями значений, которые имеют решающее значение для двустороннего связывания данных, когда типы данных различаются между представлением и ViewModel.

- Использование: оба метода поддерживают двустороннее связывание данных, но беглые привязки чаще используются в современных приложениях из-за их читаемости и гибкости.

Таким образом, в то время как как беглые, так и швейцарские/тибевые привязки поддерживают двустороннее связывание данных, беглые привязки предлагают более современный, гибкий и читаемый подход, что делает их предпочтительными для сложных приложений.

Цитаты:
[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-связы
[3.]
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://www.telerik.com/blogs/angular-basics-data-binding-part-8-two-way-data-связывание
[6] https://handsontable.com/blog/onderstanding-data-binding-in-react
[7] https://stackoverflow.com/questions/19712103/fluent-binding-and-conversions
[8] https://www.telerik.com/blogs/blazor-basics-data-binding