En MVVMCross, la vinculación única y la vinculación de dos vías tienen propósitos distintos en la gestión de la interacción entre la vista y el modelo View.
Atinguidad única
La unión única se usa para transferir datos del modelado de vista a la vista solo una vez, cuando se establece la fuente de enlace. Después de esta transferencia inicial, la unión no monitorea los cambios en las propiedades de ViewModel y no actualiza la vista a menos que la fuente de enlace en sí misma se restablezca. Este modo es útil para campos que son configurables pero que no cambian con frecuencia después de ser establecido. Por ejemplo, en MVVMCross, la unión única se usa para configurar texto estático de archivos de idioma, ya que el usuario generalmente selecciona un idioma una vez y rara vez lo cambia después [1] [10].
ANIZA DE BODOS
La vinculación bidireccional, por otro lado, establece una conexión continua y bidireccional entre la vista y el modelo View. Cambios en la vista o en las actualizaciones de activación de Model en el otro. Este modo es particularmente útil al editar los datos existentes, como completar los formularios, donde tanto la entrada del usuario como cualquier cambio del Modelo ViewModel deben reflejarse en tiempo real. La unión de dos vías se usa comúnmente en MVVMCross y a menudo sirve como el modo predeterminado para nuevos enlaces [1] [2].
Diferencias clave
-Dirección del flujo de datos: el enlace único solo actualiza la vista desde el model de vista una vez, mientras que el enlace de dos vías actualiza tanto la vista como el modelado ViewModel continuamente.
-Cambiar monitoreo: la unión única no monitorea los cambios después de la actualización inicial, mientras que la vinculación de dos vías monitorea y actualiza continuamente ambos extremos.
-Casos de uso: la única vez es ideal para datos estáticos o con poca frecuencia, mientras que el bidireccional es mejor adecuado para formas interactivas o intercambio de datos dinámicos.
En resumen, la unión única se usa para la configuración de datos estáticos o iniciales, mientras que la unión de dos vías se usa para escenarios interactivos en los que tanto la vista como la vista de visión deben reflejar los cambios de los demás en tiempo real.
Citas:[1] https://www.mvvmcross.com/documentation/fundamentals/data-sninging
[2] https://blog.ostebaronen.dk/2018/01/mvvmcross-kinding-target.html
[3] https://www.mvvmcross.com/documentation/advanced/custom-data-neping
[4] https://softwareEngineering.stackexchange.com/questions/322450/how-does-two-way-data-nifing-differ-from-simple-auto-sync
[5] https://stackoverflow.com/questions/17156368/
[6] https://yanxiaodi.gitbook.io/xamarin-mvvvmcross-handbook/Using-mvvvmcross-to-create-your-first-xamarin-app/creating-the-nroid-project/understanding-the-data-binding-syntax
[7] https://stackoverflow.com/questions/13504906/what-is-two-way- binding
[8] https://github.com/mvvmcross/mvvmcross/issues/29
[9] https://stackoverflow.com/questions/27803448/data-kinding-one-vs-two-way
[10] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxrecyclerview
[11] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/binding-mode?view=netmaui-9.0
[12] https://www.reddit.com/r/javascript/comments/v993r4/askjs_why_is_oneway_binding_better_than_twoway/