Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kā MVVMCROSS apstrādā platformas specifisko kodu


Kā MVVMCROSS apstrādā platformas specifisko kodu


MVVMCROSS ir paredzēts, lai efektīvi apstrādātu platformai specifisko kodu, sadalot lietojumprogrammas loģiku divās galvenajās daļās: galvenajā projektā un platformai specifiskos projektos. Galvenais projekts, parasti .NET standarta bibliotēka, satur biznesa loģiku, skatu modeļus, modeļus un saskarnes platformas specifiskiem pakalpojumiem. Tas ļauj maksimāli kodu koplietot dažādās platformās, piemēram, Android, iOS un Windows.

platformas specifiski projekti

Katrā platformai raksturīgais projekts (piemēram, Xamarin.android, Xamarin.ios) satur lietotāja saskarni un platformas specifisko pakalpojumu ieviešanu. Šie projekti ir atbildīgi par MVVMCROSS ietvara inicializēšanu un specifisku pakalpojumu reģistrēšanu, izmantojot iestatīšanas klasi. Iestatīšanas klase darbojas kā MVVMCross sāknēšanas līdzeklis, ļaujot izstrādātājiem pielāgot katras platformas ietvara uzvedību.

Kontroles (SOK) un atkarības injekcijas apgriezieni

MVVMCROSS izmanto kontroles (SOK) konteinera inversiju, lai pārvaldītu atkarības visā lietojumprogrammā. Tas ļauj reģistrēt un ievadīt platformu specifiskos pakalpojumus un ievadīt galvenā projekta loģiku. Piemēram, ja lietojumprogrammai ir jāpiekļūst GPS atrašanās vietas pakalpojumiem, GPS pakalpojumu var reģistrēt platformai raksturīgā iestatīšanas klasē un pēc tam ievadīt skatu modeļos vai citās galvenā projekta daļās.

Platformas uzvedības pielāgošana

Izstrādātāji var pielāgot platformai specifisku uzvedību, izmantojot ignorēšanas metodes iestatīšanas klasē. Piemēram, operētājsistēmā Android jūs varētu ignorēt metodes `mvxandroidSetup`, lai reģistrētu Android specifiskos pakalpojumus vai apstrādātu Android specifiskus dzīves cikla notikumus. Līdzīgi, iOS, jūs izmantotu `MVXIOSSETUP`, lai apstrādātu iOS specifisku inicializāciju un pakalpojumu reģistrāciju.

Skatīt vadītājus

MVVMCROSS nodrošina arī skatu vadītājus, kuri ir atbildīgi par lēmumu pieņemšanu, kā skati tiek parādīti katrā platformā. Tas ļauj pielāgot UI prezentācijas loģiku, piemēram, modāli vai kā daļu no navigācijas kaudzes, atkarībā no platformas konvencijām.

spraudņi un pagarinājumi

MVVMCROSS piedāvā spraudņu ietvaru, kas ļauj izstrādātājiem viegli integrēt trešo personu spraudņus tādām kopīgām funkcijām kā lokalizācija, sensori un daudz kas cits. Šos spraudņus var izmantot vairākās platformās, vēl vairāk samazinot vajadzību pēc platformas specifiskā koda.

Rezumējot, MVVMCROSS apstrādā platformai raksturīgu kodu, nodrošinot strukturētu pieeju koplietotās loģikas atdalīšanai no platformas specifiskām ieviešanām. Platformas pakalpojumu pārvaldīšanai tiek izmantota SOK un atkarības injekcija, ļauj pielāgot, izmantojot iestatīšanas klasi, un atbalsta spraudņus, lai paplašinātu funkcionalitāti dažādās platformās.

Atsauces:
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
[4] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[5] https://stackoverflow.com/questions/14337063/platform-specific-ioc-in-mvvmcross
[6.]
[7] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework/
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-packages
[9] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvvmcross.com/documentation/advanced/customing-using-app-and-setup