În MVVMcross, atât bazele de date elvețiene, cât și cele fluente sunt utilizate pentru conectarea vizualizărilor la vizualizarea modelelor, dar servesc scopuri ușor diferite și sunt preferate în diferite scenarii.
Databinding elvețian
Swiss Databinding oferă o sintaxă mai curată și mai puțin verbose în comparație cu predecesorul său, JSON Databinding. Este deosebit de util atunci când trebuie să definiți legăturile într -o manieră simplă, adesea direct în fișierele de aspect XML. Legăturile elvețiene sunt ușor de citit și de scriere, ceea ce le face potrivite pentru legături simple, directe, în care sintaxa trebuie să fie concisă și de înțeles.
Un scenariu specific în care ar putea fi de preferat un scenariu elvețian de bază de date elvețiană este atunci când trebuie să configurați rapid legăturile în fișierele XML, în special în platformele în care machetele XML sunt utilizate în mod obișnuit și ușor de modificat, cum ar fi Android. Cu toate acestea, bazele de date elvețiene nu monitorizează activ modificările din modelul de vizualizare decât dacă sursa de legare este resetată, ceea ce poate fi o limitare a scenariilor care necesită actualizări în timp real.
FLUENT BATABINDING
Databindarea fluentă, pe de altă parte, oferă o sintaxă bazată pe C#pentru construirea legăturilor. Această abordare este deosebit de benefică în mediile în care aspectele XML nu sunt ușor editabile umane, cum ar fi iOS și macOS. Legăturile fluente permit configurații de legare mai complexe și dinamice, ceea ce le face ideale pentru scenarii în care trebuie să manipulați programatic legăturile sau să gestionați o logică mai complexă.
Baza de date fluentă este preferată atunci când trebuie să creați legături programatic, care pot fi mai flexibile și mai puternice, în special în aplicații complexe sau atunci când lucrați cu platforme care nu acceptă machete XML la fel de eficient.
Scenarii de preferință
- Baza de date elvețiană este preferată când:
-Aveți nevoie de o sintaxă simplă, ușor de citit pentru legături, în special în fișierele XML.
- Aplicația nu necesită monitorizarea continuă a modificărilor din modelul de vizualizare.
- Lucrezi în medii în care machetele XML sunt ușor editabile.
- este preferată o bază de date fluentă când:
- Trebuie să creați legături programatic, permițând configurații mai dinamice și mai complexe.
- Lucrezi la platforme în care machetele XML nu sunt ușor editabile, cum ar fi iOS.
- Aplicația necesită mai mult control asupra logicii de legare sau trebuie să gestioneze scenarii complexe.
În rezumat, în timp ce atât elvețianul, cât și fluentul baze de date au punctele lor forte, alegerea dintre ele depinde de cerințele specifice ale aplicației dvs., inclusiv de necesitatea simplității versus complexitate și de platforma pentru care vă dezvoltați.
Citări:[1] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[2] https://crosscuttingconcerns.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/