Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Como as ligações fluentes lidam


Como as ligações fluentes lidam


As ligações fluentes e as ligações suíças/tibetas fazem parte da estrutura MVVMCROSS, que é usada para o desenvolvimento da plataforma cruzada. Embora os dois métodos facilitem a ligação dos dados, eles diferem na sintaxe e no uso, particularmente na maneira como lidam com a ligação de dados bidirecional.

ligações fluentes

As ligações fluentes no MVVMcross fornecem uma maneira mais moderna e flexível de vincular dados entre a exibição e o ViewModel. Eles permitem uma sintaxe fluente que é mais fácil de ler e escrever, tornando mais simples para os desenvolvedores gerenciar ligações complexas. No contexto da ligação de dados bidirecional, as ligações fluentes permitem a interação perfeita entre a exibição e o ViewModel, atualizando automaticamente ambos quando ambos os lados mudarem. Isso é particularmente útil para editar formas em que a sincronização em tempo real é crucial.

As ligações fluentes suportam os conversores de valor, essenciais para a ligação de dados bidirecionais quando os tipos de dados entre a visualização e o viewmodel diferem. Esses conversores implementam os métodos `convert` e` convertback` para lidar com transformações de dados em ambas as direções [7].

Swiss/Tibet ligações

As ligações suíças e tibetas são sintaxes mais antigas usadas no MVVMCROSS para ligação de dados. Eles também suportam a ligação de dados bidirecionais, mas com uma sintaxe diferente. A sintaxe suíça, por exemplo, usa um formato simples em que a propriedade de destino na visualização é conectada a um caminho de origem no viewmodel. Embora apoie a ligação bidirecional, pode não ser tão flexível ou legível quanto as ligações fluentes para cenários complexos.

As ligações suíças exigem especificar o modo de ligação explicitamente, se necessário, que pode incluir ligações unidirecional, bidirecional ou única. No entanto, eles podem não oferecer o mesmo nível de flexibilidade com conversores de valor que as ligações fluentes.

comparação

- Sintaxe e legibilidade: as ligações fluentes são geralmente mais legíveis e mais fáceis de gerenciar, especialmente em cenários complexos. As ligações suíças/tibete têm uma sintaxe mais simples, mas podem não ser tão flexíveis.

- Flexibilidade com conversores de valor: As ligações fluentes são mais flexíveis ao lidar com conversores de valor, que são cruciais para a ligação de dados bidirecionais quando os tipos de dados diferem entre a exibição e o viewModel.

- Uso: Ambos os métodos suportam a ligação de dados bidirecionais, mas as ligações fluentes são mais comumente usadas em aplicações modernas devido à sua legibilidade e flexibilidade.

Em resumo, enquanto as ligações fluentes e suíças/tibetas suportam a ligação de dados bidirecional, as ligações fluentes oferecem uma abordagem mais moderna, flexível e legível, tornando-as preferíveis para aplicações complexas.

Citações:
[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-irrational-demonization-of-dwo-way-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-two-way-data-binding
[6] https://handsontable.com/blog/understanding-data-binding-in-react
[7] https://stackoverflow.com/questions/19712103/fluent-binding-and-conversions
[8] https://www.telerik.com/blogs/blazor-basics-data-binding