Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kas saate selgitada MVVMcrossi tuuma- ja kasutajaliidese projektide koostoimet


Kas saate selgitada MVVMcrossi tuuma- ja kasutajaliidese projektide koostoimet


MVVMCROSS on platvormideülene raamistik, mis hõlbustab rakenduste väljatöötamist, kasutades mudel-vaate-viewModel (MVVM) mustrit. See võimaldab arendajatel luua lõdvalt ühendatud, hooldatavaid ja kontrollitavaid mobiilseid lahendusi, eraldades rakenduse loogika kaheks peamiseks osaks: põhiprojekt ja kasutajaliidese projekt.

Põhiprojekt

Põhiprojekt on tavaliselt .NET -i standardraamatukogu, mis sisaldab kogu jagatud koodi, sealhulgas:
- ViewModels: need vastutavad kasutaja suhtlemise ja äriloogika käitlemise eest.
- Mudelid: esindage kogu rakenduse vältel kasutatavaid andmestruktuure.
- Teenused: pakkuge juurdepääsu andmetele, veebiteenustele või muudele välistele ressurssidele.
- Muundurid: kasutatakse andmetüübi konversioonide jaoks.
- Rakenduste klass: see vastutab rakenduse äriloogika ja vaatamise mudelite lähtestamise eest. Samuti tegeleb see kohandatud objektide registreerimisega juhtimismahuti (ROK) konteineri ümberpööramisel.
- Appstart: valikuliselt kasutatakse rakenduse alguse ajal kõigepealt, millist vaatamismudelit esitleda.

UI projekt

UI projekt on platvormipõhine ja sisaldab kasutajaliidese elemente ja platvormipõhist koodi. Iga sihtplatvormi (nt iOS, Android) jaoks on olemas eraldi kasutajaliidese projekt. Need projektid hõlmavad:
- Vaated: vastava vaatemudeli esitamise eest vastutab iga vaade. Vaated on loodud looduslike platvormi tööriistade (nt XAML jaoks Xamarin.Forms, AXML Androidi jaoks).
- Natiivse rakenduste käitleja: see tegeleb looduslike elutsükli sündmustega. Näiteks Androidis oleks see klass MainActivity või mainApplication, samal ajal kui iOS -is oleks see klass AppDelegate'i.
- Seadistamisklass: see vastutab BootStrappingi MVVMCROSSi ja platvormipõhiste teenuste registreerimise eest. See initsialiseerib MVVMcrossi raamistiku ja seab ROK-i konteineri platvormipõhiste rakendustega.

Põhi- ja kasutajaliidese projektide vaheline suhtlus

MVVMcrossi tuuma- ja kasutajaliidese projektide vahelist interaktsiooni hõlbustab MVVM -i mustri ja raamistiku ROK -i konteiner. Siit saate teada, kuidas nad suhtlevad:
- ViewModeli köitmine: kasutajaliidese projektid kasutavad vaadete vaatamiseks mudelite vaatamiseks MVVMcrossi. Tavaliselt tehakse seda nimetamiskonventsiooni abil või kaunistades vaateid atribuutidega nagu "[mvxViewfor (typeof (typeof (typeOf))]`.
- Teenuse süstimine: põhiprojekt määratleb liidesed teenuste jaoks, mida rakendatakse igal platvormil erinevalt. Need teenused on registreeritud ROK-i konteineris ja süstitakse vaatemudelitesse, võimaldades platvormipõhist funktsionaalsust ilma koodi dubleerimata.
- Navigeerimine ja esitlus: MVVMCROSS pakub mehhanisme vaatemudelite vahel navigeerimiseks ja vaadete esitamiseks. Raamistik kasutab saatejuhte (nt `imvxiosviewpresenter`,` imvxandroidviewpresenter`), et hallata, kuidas vaateid kuvatakse igal platvormil.

Eraldades rakenduse loogika tuuma- ja kasutajaliidese projektideks, võimaldab MVVMCross arendajatel maksimeerida koodi taaskasutamist platvormidel, võimaldades samal ajal platvormipõhist kohandamist ja optimeerimist [1] [3] [5].

Tsitaadid:
]
[2] https://canbilgin.wordpress.com/tag/mvvmcross/
]
]
]
]
[7] https://www.mvvmcross.com/documentation/tutorials/tipcalc/the-core-project
[8] https://canbilgin.wordpress.com/2017/03/26/xamarin-forms-application-with-mvvmcross/