Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Existujú špecifické scenáre, v ktorých je preferovaná švajčiarska databinding pred plynulým databindingom


Existujú špecifické scenáre, v ktorých je preferovaná švajčiarska databinding pred plynulým databindingom


V MVVMCross sa na pripojenie pohľadov na zobrazenie modelov používajú švajčiarske aj plynulé databindovanie, ale slúžia mierne odlišným účelom a sú preferované v rôznych scenároch.

Švajčiarske databinding

Swiss Databinding ponúka čistejšiu a menej podrobnú syntax v porovnaní s jej predchodcom Databinding JSON. Je to obzvlášť užitočné, keď potrebujete definovať väzby jednoduchým spôsobom, často priamo v súboroch rozloženia XML. Švajčiarske väzby sa ľahko čítajú a píše, vďaka čomu sú vhodné pre jednoduché priame väzby, kde syntax musí byť stručná a zrozumiteľná.

Jedným z konkrétnych scenárov, v ktorom by sa mohlo uprednostňovať švajčiarske databindovanie, je, keď potrebujete rýchlo nastaviť väzby v súboroch XML, najmä v platformách, kde sa bežne používajú a ľahko upravujú rozloženie XML, napríklad Android. Švajčiarska databinding však aktívne monitoruje zmeny z modelu zobrazenia, pokiaľ nie je obnovený zdroj viazania, čo môže byť obmedzením v scenároch vyžadujúcich aktualizácie v reálnom čase.

Fluent Databinding

Fluent Databinding, na druhej strane, poskytuje syntax založenú na C#na konštrukciu väzieb. Tento prístup je obzvlášť prospešný v prostrediach, v ktorých usporiadanie XML nie je ľahko spôsobené ľudským, ako sú iOS a MACOS. Fluentné väzby umožňujú zložitejšie a dynamickejšie nastavenie väzby, vďaka čomu sú ideálne pre scenáre, v ktorých potrebujete programovo manipulovať s väzbami alebo zvládnuť zložitejšiu logiku.

Fluent Databinding sa uprednostňuje, keď potrebujete programovo vytvárať väzby, ktoré môžu byť flexibilnejšie a výkonnejšie, najmä v zložitých aplikáciách alebo pri práci s platformami, ktoré nepodporujú rozloženie XML tak efektívne.

Preferenčné scenáre

- Švajčiarska databinding sa uprednostňuje, keď:
-Potrebujete jednoduchú, ľahko čitateľnú syntax na viazanie, najmä v súboroch XML.
- Aplikácia nevyžaduje nepretržité monitorovanie zmien z modelu pohľadu.
- Pracujete v prostrediach, kde sú rozloženia XML ľahko upraviteľné.

- Fluent Databinding sa uprednostňuje, keď:
- Musíte programovo vytvárať väzby, čo umožňuje dynamickejšie a zložitejšie nastavenia.
- Pracujete na platformách, kde rozloženia XML nie sú ľahko upraviteľné, napríklad iOS.
- Aplikácia vyžaduje väčšiu kontrolu nad logikou väzby alebo potrebuje spracovať zložité scenáre.

Stručne povedané, zatiaľ čo švajčiarske aj plynulé databinding majú svoje silné stránky, výber medzi nimi závisí od konkrétnych požiadaviek vašej aplikácie, vrátane potreby jednoduchosti verzus zložitosť a platformy, pre ktorú vyvíjate.

Citácie:
[1] https://www.mvvmcross.com/documentation/funmamentals/data-binding
[2] https://crosscuttingconcerns.com/mvvmcross-fluent-databinding
[3] https://stackoverflow.com/questions/41462365/what-are-the-pros-cons-of-d-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/
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/