L'utilisation d'une liaison unique dans MVVMCross offre plusieurs avantages sur d'autres modes de liaison, en particulier dans des scénarios spécifiques:
1. Réduction des frais généraux: la liaison ponctuelle est utile lorsque vous devez définir une valeur du ViewModel à la vue une seule fois, sans surveillance en continu pour les modifications. Cela réduit les frais généraux associés au maintien d'une liaison, car il ne nécessite pas le framework pour écouter les mises à jour de ViewModel. Cela est particulièrement bénéfique pour les données statiques qui ne changent pas une fois qu'elle est définie, comme le texte à partir de fichiers linguistiques [1] [3].
2. Performances dans les vues recyclées: Bien que les liaisons uniques puissent être problématiques dans des vues recyclées comme celles de `MVXRecyclerView`, elles sont idéales pour les scénarios où les vues ne sont pas recyclées ou où les données sont statiques et n'ont pas besoin d'être mises à jour dynamiquement. Cependant, dans les cas où les vues sont recyclées, les liaisons ponctuelles peuvent ne pas se comporter comme prévu car les vues sont réutilisées et rebondies à mesure qu'elles apparaissent à l'écran [7].
3. Cela peut conduire à un code plus propre et à moins de problèmes potentiels liés aux mises à jour continues [4].
4. Approprié pour les données en lecture seule: la liaison ponctuelle est bien adaptée à l'affichage des données en lecture seule qui est connue au moment de l'initialisation et ne change pas. Cela comprend des scénarios comme afficher des informations statiques telles que les heures de restaurant, où les données sont définies une fois et n'ont pas besoin de nouvelles mises à jour [3].
5. Cohérence avec les données statiques: Dans les applications où certaines données sont statiques et ne changent pas fréquemment, la liaison ponctuelle garantit que ces données sont correctement définies sans mises à jour inutiles. Cela maintient la cohérence dans l'interface utilisateur sans les frais généraux de surveillance continue [1] [3].
En résumé, une liaison ponctuelle dans MVVMCROSS est bénéfique lorsque l'on traite des données statiques qui ne nécessitent pas de mises à jour continues, offrant des frais généraux réduits et une gestion de liaison simplifiée. Cependant, il peut ne pas convenir aux données dynamiques ou fréquemment modifiées, ou dans des scénarios où les vues sont recyclées.
Citations:[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://stackoverflow.com/questions/41768962/mvvmcross-default-binding-mode-used-in-a-project
[3] https://stackoverflow.com/questions/25460030/when-to-use-mvvmcross-data-bindings
[4] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/binding-mode?view=net-maui-9.0
[5] https://www.mvvmcross.com/documentation/advanced/custom-data-binding
[6] https://stackoverflow.com/questions/17156368/
[7] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxrecyclerview
[8] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross
[9] https://www.mvvmcross.com/documentation/fundamentals/viewmodel-lifecycle