Pri mvvmcrossu se za vezavo podatkov uporabljajo tako tekoče vezi kot švicarske/tibetske vezi, vendar se razlikujejo po njihovem pristopu in uporabi. Medtem ko med tema dvema vrstama vezi ni nazornih informacij o razlikah v uspešnosti, lahko analiziramo njihove značilnosti, da razumemo morebitne posledice:
Tekoče vezi
Tekoče vezi so sintaksa, ki temelji na C#, ki razvijalcem omogoča ustvarjanje vezi v kodi. Ta pristop je še posebej uporaben na platformah, kot sta iOS in OSX, kjer datoteke XML postavitve niso enostavno človeško urejene. Tekoče vezi omogočajo varen način vezave lastnosti, kar lahko pomaga zmanjšati napake v času izvajanja z ujetim neskladjem tipa v času prevajanja. Ker pa so opredeljeni v kodi, bodo morda potrebovali več režijskih stroškov glede vzdrževanja kode v primerjavi z deklarativnimi vezi, kot so švicarski/tibet.Swiss/Tibet Bindings
Švicarske in tibetne vezi so deklarativne, kar pomeni, da so opredeljene v formatih XML ali String. Te vezi so bolj jedrnate in jih je mogoče enostavno vgraditi v datoteke postavitve. Zlasti tibetna sintaksa vezave ponuja bogatejši izraz izražanja s funkcijami, kot so funkcijsko klicanje vrednosti, večje vezije in preprosta sintaksa operaterja. Ta deklarativni pristop je lahko učinkovitejši v smislu berljivosti in vzdrževanja kode, saj so vezi v datotekah postavitve jasno vidne.Uspešnost uspešnosti
Medtem ko ni posebnih podatkov o razlikah v uspešnosti med tekočo in švicarsko/tibetsko vezi, lahko naslednji dejavniki vplivajo na uspešnost:-Resolucija sestavljanja v primerjavi z izvajanjem: na splošno bi lahko vezi, ki se rešujejo v času sestavljanja (kot nekateri vidiki tekoče vezi zaradi narave, ki jih je varna vrsta), nudilo boljše zmogljivosti v primerjavi z ločljivostjo izvajanja. Vendar se MVVMcross vezi običajno rešujejo med izvajanjem.
- režij za razmišljanje: tako tekoče kot švicarske/tibetne vezi verjetno uporabljajo odsev za reševanje imen lastnosti. Vendar lahko tekoče vezi imajo rahlo prednost zaradi narave, ki je varne, kar lahko zmanjša potrebo po obsežnem razmišljanju med izvajanjem.
- Kompleksnost vezavnih izrazov: Tibetske vezi omogočajo bolj zapletene izraze, ki bi lahko potencialno uvedli dodatne režijske stroške zaradi razčlenjevanja in ocene teh izrazov. Vendar ta zapletenost zagotavlja tudi močnejše zmogljivosti za zavezovanje podatkov.
Če povzamemo, čeprav ni izrecnih meril za uspešnost, ki bi primerjala tekoče in švicarske/tibetne vezi v mvvmcrossu, lahko tekoče vezi ponujajo rahle prednosti zaradi njihove varne narave in potencialnega zmanjšanja refleksije izvajanja. Vendar lahko deklarativna narava švicarskih/tibetskih vezi izboljša berljivost in vzdrževanje kode, kar lahko posredno vpliva na učinkovitost razvoja in splošno uspešnost aplikacije z zmanjšanjem napak in izboljšanjem kakovosti kode. Navsezadnje mora izbira med temi vezavnimi metodami temeljiti na specifičnih potrebah projekta, kot je kompleksnost uporabniškega vmesnika, platforma, ki je usmerjena, in prednost pred kodo in deklarativno vezi.
Navedbe:[1] http://slodge.blogspot.com/2013/06/tibet-binding.html
[2] https://github.com/mvvmcross/mvvmcross/isissue/1342
[3] https://learn.microsoft.com/en-us/dotnet/maui/fundamentals/data-binding/compiled---bindings?view=net-maui-9.0
[4] https://blog.ostebaronen.dk/2018/01/mvvmcross-binding-taget.html
[5] https://stackoverflow.com/Questions/46522577/mvvmcross-issues-with-fluent-vezanje
[6] https://www.reddit.com/r/businessintillegence/comments/ky0dq9/is_it_a_best_practice_to_connect_with_views/
[7] https://www.mvvmcross.com/documentation/fundamentals/data----
[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/value-converters
[10] https://stackoverflow.com/questions/48422489/mvvmcross-tibet-bing-to-viewModel-tself