„MVVMCross“ vienkartinis duomenų įrišimas yra režimas, kai duomenys iš „ViewModel“ perkeliami tik į rodinį tik vieną kartą, kai nustatomas įrišimas. Po šio pradinio perdavimo, įrišimas nestebi pakeitimų ir neatlieka jokių atnaujinimų, nebent pats įrišimo šaltinis yra atstatytas. Čia yra keletas įprastų naudojimo atvejų vienkartiniams duomenų įrišimui:
1. Statinis tekstas iš kalbos failų: Vienkartinis įrišimas yra ypač naudingas nustatant statinį tekstą iš kalbos failų. Pasirinkus kalbą, vartotojui neįprasta tai pakeisti, todėl nereikia nuolat atnaujinti. Šis metodas padeda išlaikyti švarią ir efektyvią surišimo sąranką, nes jis išvengia nereikalingų pakeitimų, kurie greičiausiai neįvyks [2].
2. Konfigūruojami, bet retai keičiantys duomenys: Laukams, kurie yra konfigūruojami, tačiau jie nėra linkę dažnai keistis po to, kai jie iš pradžių buvo nustatyti, vienkartinis įrišimas gali būti naudingas. Tai apima nustatymus ar duomenis, kurie nustatomi inicijavimo metu ir išlieka pastovūs per visą programos vykdymo laiką.
3. Veiklos optimizavimas: Nors už vienpusių įrišimų naudojimą paprastai nėra baudos, vienkartinės įrišimai gali dar labiau optimizuoti našumą, pašalinant bet kokias galimas pridėtines išlaidas, susijusias su pokyčių aptikimu. Tai gali būti ypač aktualu scenarijuose, kai žinoma, kad duomenys yra statiniai ir nereikalauja atnaujinimų.
4. Nereikalingų atnaujinimų mažinimas: tais atvejais, kai duomenys dažniausiai yra statiški ir juos reikia rodyti tik vieną kartą, naudojant vienkartinį įrišimą, užkertant kelią nereikalingiems atnaujinimams. Tai gali padėti sumažinti skaičiavimo pridėtines išlaidas, susijusias su dažnais pakeitimų patikrinimais, ypač sudėtingose ar duomenų reikalaujančiose programose.
5. Sąlyginės logikos supaprastinimas: Naudodamiesi vienkartiniu įrišimu statiniams duomenims, kūrėjai gali supaprastinti sąlyginę logiką, susijusią su ekrano išdėstymu ar duomenų pateikimu. Tai padeda išlaikyti švaresnę kodų bazę, atskyrus dinaminius duomenis, tvarkant nuo statinių duomenų rodymo.
Apibendrinant galima pasakyti, kad vienkartinis duomenų surišimas MVVMCross yra idealus scenarijams, kai duomenys yra statiniai arba retai keičiasi, leidžiant efektyviai ir tiesmukiškai pateikti duomenis be nuolatinio pokyčių stebėjimo viršutinės vertės.
Citatos:[1] https://blog.ostebaronen.dk/2018/01/mvvmcross-inding-arget.html
[2] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[3] https://www.reddit.com/r/androiddev/comments/ux9379/what_are_the_use_cases_of_data_binding_and_when/
[4] https://www.mvvmcross.com/documentation/advanced/custom-data-Briding
[5] https://stackoverflow.com/questions/48910503/binding-mode-onetime-in-mvxRecyclerview
[6] http://stackoverflow.com/questions/10700445/in-mvvmcross-how-do-i-do-custom.-do-properties
[7] https://stackoverflow.com/questions/25460030/when-to-use-mvvmcross-data-bindings
[8] https://github.com/mvvmcross/mvvmcross/issues/421
[9] https://learn.microsoft.com/en-us/archive/msdn-magazine/2014/august/windows-phone-build-mvvm-apps-with-xamarin-and-mvvmcross