No MVVMcross, o banco de dados suíço e fluente são usados para conectar vistas para visualizar os modelos, mas eles servem a propósitos ligeiramente diferentes e são preferidos em diferentes cenários.
Swiss Databinding
O banco de dados suíço oferece uma sintaxe mais limpa e menos detalhada em comparação com seu antecessor, JSON Databinding. É particularmente útil quando você precisa definir ligações de maneira direta, geralmente diretamente nos arquivos de layout XML. As ligações suíças são fáceis de ler e escrever, tornando -as adequadas para ligações simples e diretas, onde a sintaxe precisa ser concisa e compreensível.
Um cenário específico em que o banco de dados suíço pode ser preferido é quando você precisa configurar rapidamente ligações em arquivos XML, especialmente em plataformas onde os layouts XML são comumente usados e facilmente editáveis, como o Android. No entanto, o banco de dados SWISS não monitora ativamente as alterações do modelo de visualização, a menos que a fonte de ligação seja redefinida, o que pode ser uma limitação em cenários que requerem atualizações em tempo real.
Banco de dados fluente
O banco de dados fluente, por outro lado, fornece uma sintaxe baseada em C#para a construção de ligações. Essa abordagem é particularmente benéfica em ambientes em que os layouts XML não são facilmente editários humanos, como iOS e macOS. As ligações fluentes permitem configurações de ligação mais complexas e dinâmicas, tornando -as ideais para cenários em que você precisa manipular programaticamente ligações ou lidar com uma lógica mais complexa.
O banco de dados fluente é preferido quando você precisa criar ligações programaticamente, o que pode ser mais flexível e poderoso, especialmente em aplicativos complexos ou ao trabalhar com plataformas que não suportam layouts XML com a mesma eficácia.
cenários de preferência
- O banco de dados suíço é preferido quando:
-Você precisa de uma sintaxe simples e fácil de ler para ligações, especialmente em arquivos XML.
- O aplicativo não requer monitoramento contínuo de alterações no modelo de visualização.
- Você está trabalhando em ambientes onde os layouts XML são facilmente editáveis.
- O banco de dados fluente é preferido quando:
- Você precisa criar ligações programaticamente, permitindo configurações mais dinâmicas e complexas.
- Você está trabalhando em plataformas onde os layouts XML não são facilmente editáveis, como o iOS.
- O aplicativo requer mais controle sobre a lógica de ligação ou precisa lidar com cenários complexos.
Em resumo, embora o banco de dados suíço e fluente tenha seus pontos fortes, a escolha entre eles depende dos requisitos específicos do seu aplicativo, incluindo a necessidade de simplicidade versus complexidade e a plataforma para a qual você está desenvolvendo.
Citações:[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://crosscuttingconcern.com/mvvmcross-fluent-databinding
[3] https://stackoverflow.com/questions/41462365/what-are-the-pros-and-cons-of-android-data-binding
[4] https://stackoverflow.com/questions/60500840/should-view-binding-replace-data-binding
[5] https://learn.microsoft.com/en-us/dotnet/desktop/wpf/data/?view=netdesktop-9.0
[6] https://www.phunware.com/android-clean-coding-approach/
[7] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_the_use_cases_of_data_binding_and_when/
[8] https://jesseliberty.com/2022/02/01/advanced-databinding-part-0-basics/