Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Esistono scenari specifici in cui si preferisce la databinding svizzera rispetto al databinding fluente


Esistono scenari specifici in cui si preferisce la databinding svizzera rispetto al databinding fluente


In MVVMCRoss, sia la databinding svizzera che quella fluente vengono utilizzate per collegare le viste per visualizzare i modelli, ma servono scopi leggermente diversi e sono preferiti in diversi scenari.

Databinding svizzero

Databinding svizzero offre una sintassi più pulita e meno verbosa rispetto al suo predecessore, JSON Databinding. È particolarmente utile quando è necessario definire i binding in modo semplice, spesso direttamente nei file di layout XML. I binding svizzeri sono facili da leggere e scrivere, rendendoli adatti a legami semplici e diretti in cui la sintassi deve essere concisa e comprensibile.

Uno scenario specifico in cui si potrebbe preferire la databinding svizzera è quando è necessario impostare rapidamente i binding nei file XML, specialmente in piattaforme in cui i layout XML sono comunemente usati e facilmente modificabili, come Android. Tuttavia, la databinding svizzera non monitora attivamente le modifiche dal modello di visualizzazione a meno che non venga ripristinato la fonte di associazione, che può essere una limitazione negli scenari che richiedono aggiornamenti in tempo reale.

Databinding fluente

Fluente Databinding, d'altra parte, fornisce una sintassi basata su C#per la costruzione di attacchi. Questo approccio è particolarmente vantaggioso negli ambienti in cui i layout XML non sono facilmente edibili all'uomo, come iOS e macOS. I legami fluenti consentono configurazioni di legame più complesse e dinamiche, rendendoli ideali per scenari in cui è necessario manipolare programmaticamente i legami o gestire una logica più intricata.

La databinding fluente è preferita quando è necessario creare legami a livello di programmazione, il che può essere più flessibile e potente, specialmente in applicazioni complesse o quando si lavora con piattaforme che non supportano i layout XML in modo efficace.

Scenari di preferenza ##

- Databinding svizzero è preferito quando:
-Hai bisogno di una sintassi semplice e di facile lettura per gli assistenti, specialmente nei file XML.
- L'applicazione non richiede il monitoraggio continuo delle modifiche dal modello di visualizzazione.
- Stai lavorando in ambienti in cui i layout XML sono facilmente modificabili.

- Si preferisce fluenti databinding quando:
- È necessario creare legami a livello di programmazione, consentendo configurazioni più dinamiche e complesse.
- Stai lavorando su piattaforme in cui i layout XML non sono facilmente modificabili, come iOS.
- L'applicazione richiede un maggiore controllo sulla logica vincolante o deve gestire scenari complessi.

In sintesi, mentre sia la databinding svizzera che quella fluente hanno i loro punti di forza, la scelta tra loro dipende dai requisiti specifici dell'applicazione, compresa la necessità di semplicità rispetto alla complessità e dalla piattaforma per cui si sta sviluppando.

Citazioni:
[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://crosscuttingconcerns.com/mvvmcross-fluent-databinding
[3] https://stackoverflow.com/questions/41462365/what-alare-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-lean-coding-apprACCH/
[7] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_here_use_cases_of_data_binding_and_when/
[8] https://jesseliberty.com/2022/02/01/advanced-databinding-part-0-basics/