MVVMCROSSi versioonidel 3.x ja 4.x on ViewModeli elutsükli osas mitmeid erinevusi, mille keskmes on peamiselt vaatemodellide konstrueerimise, lähtestamise ja haldamise ümber.
mvvmcross 3.x
MVVMCROSS 3.x -s järgib ViewModel elutsükkel jada, mida tuntakse CIRS: Construction, init (), uuesti laadige () ja start (). Seda järjestust kasutatakse ViewModelsi lähtestamiseks ja haldamiseks. Siin on jaotus:
- Konstruktsioon: ViewModel on kiirendatud ROK -i konteineri abil, võimaldades sõltuvuse süstimist. Siin süstitakse ViewModelisse teenused ja muud sõltuvused.
- init (): Seda meetodit kasutatakse navigeerimisparameetrite lähtestamiseks. Seda kutsutakse pärast ehitust ja see on koht, kus te tavaliselt seadistate kõik esialgsed andmed või parameetrid ViewModelile edastatud parameetrid.
- ReloadState (): see meetod vastutab ViewModeli oleku rehüdreerimise eest pärast haudumist, mis toimub siis, kui rakendus peatatakse ja seejärel jätkatakse madala mäluolude tõttu.
- Start (): Seda meetodit nimetatakse siis, kui lähtestamine ja rehüdratsioon on lõpule viidud. Tavaliselt kasutatakse seda käimasolevate toimingute või ülesannete käivitamiseks.
mvvmcross 4.x
MVVMCROSS 4.x jätkab CIRS -i järjestuse kasutamist, kuid tutvustab mõningaid muudatusi ja parandusi:
- Konstruktsioon jääb samaks, kasutades ROK -i sõltuvuse süstimiseks.
- init () lähtestab endiselt navigeerimisparameetrid, kuid on nüüd paindlikum, võimaldades navigeerimisparameetreid.
- ReloadState () jätkab oleku rehüdratsiooni käsitlemist pärast haugamist.
- Start () on sarnane, kuid seda võib harvemini kasutada asünkroonsete initsialiseerimismeetodite kasutuselevõtu tõttu.
MVVMCROSS 4.x märkimisväärne muutus on trükitud navigeerimisparameetrite jätkuv toetus, mis võimaldab vaatemodellide vahel rohkem struktureeritud andmeid. Lisaks paneb MVVMCROSS 4.x aluse navigeerimise ja elutsükli juhtimise edaspidiseks parandamiseks, mida veelgi suurendatakse MVVMcross 5.x.
Peamised erinevused
- Navigeerimisparameetrid: MVVMCROSS 3.x läbib navigeerimisparameetrid otse meetodile `init ()`, samas kui MVVMCROSS 4.x toetab trükitud navigeerimisparameetreid, muutes keerukate andmete edastamise ViewModels'i vahel.
- Elutsükli paindlikkus: MVVMCROSS 4.x pakub rohkem paindlikkust vaatemodelli elutsüklite käitlemisel, eriti asünkroonsete initsialiseerimismeetodite kasutuselevõtuga.
- Tobisemise tugi: Mõlemad versioonid toetavad hauakambrit, kuid MVVMCROSS 4.x jätkab selle protsessi täpsustamist, tagades, et ViewModels saaksid nende oleku tõhusalt salvestada ja taastada.
Üldiselt tugineb MVVMcross 4.x vundamendile, mis on loodud 3.x, suurendades navigeerimist, elutsükli juhtimist ja paindlikkust keerukate andmete ja asünkroonsete toimingute käsitlemisel.
Tsitaadid:]
]
]
]
]
]
]
[8] https://www.ramotion.com/blog/what-is-mvvm/
[9] https://www.mvvmcross.com/documentation/fundamentals/navigation
]
]
[12] https://github.com/mvvmcross/mvvmcross/issues/2738