MVVMCROSS on loodud platvormispetsiifilise koodiga tõhusaks käsitsemiseks, eraldades rakenduse loogika kaheks peamiseks osaks: põhiprojekt ja platvormipõhine projekt. Põhiprojekt, tavaliselt .NET-i standardraamatukogu, sisaldab äriloogikat, vaatemudeleid, mudeleid ja liideseid platvormipõhistele teenustele. See võimaldab maksimaalset koodide jagamist erinevatel platvormidel nagu Android, iOS ja Windows.
platvormipõhised projektid
Iga platvormipõhine projekt (nt Xamarin.android, Xamarin.Ios) sisaldab kasutajaliidest ja platvormipõhiste teenuste rakendamist. Need projektid vastutavad MVVMcrossi raamistiku lähtestamise ja platvormipõhiste teenuste registreerimise eest seadistusklassi abil. Seadistusklass toimib MVVMCROSSi alglaadijana, võimaldades arendajatel kohandada raamistiku käitumist iga platvormi jaoks.
Kontrolli (ROK) ja sõltuvuse süstimise ümberpööramine
MVVMCross kasutab rakenduse sõltuvuste haldamiseks juhtseadmete (ROK) konteineri ümberpööramist. See võimaldab platvormipõhiseid teenuseid registreerida ja süstida põhiprojekti loogikasse. Näiteks kui rakendus peab pääsema GPS-i asukohateenustele, saab GPS-teenuse registreerida platvormispetsiifilises häälestusklassis ja seejärel süstida vaatemudelitesse või muudesse põhiprojekti osadesse.
Platvormi käitumise kohandamine
Arendajad saavad platvormipõhist käitumist kohandada, seades seadistusklassis ülekaalukaid meetodeid. Näiteks Androidis võite androidi-spetsiifiliste teenuste registreerimiseks või Androidi spetsiifiliste Lifecycle'i sündmustega tutvumiseks alistada meetodeid. Sarnaselt kasutaksite iOS-i puhul iOS-spetsiifilise lähtestamise ja teenuste registreerimise käsitlemiseks `mvxiossetup`.
Vaata saatejuhid
MVVMCROSS pakub ka vaatesaateid, kes vastutavad selle eest, kuidas igal platvormil vaateid esitatakse. See võimaldab kohandada kasutajaliidese esitlusloogikat, näiteks kuvada vaateid modaalselt või navigeerimis virna osana, sõltuvalt platvormi tavadest.
pistikprogrammid ja pikendused
MVVMCROSS pakub pistikprogrammide raamistikku, mis võimaldab arendajatel hõlpsalt integreerida kolmandate osapoolte pistikprogrammid tavaliste funktsioonide jaoks nagu lokaliseerimine, andurid ja palju muud. Neid pistikprogramme saab kasutada mitmel platvormil, vähendades veelgi vajadust platvormipõhise koodi järele.
Kokkuvõtlikult võib öelda, et MVVMCross tegeleb platvormipõhise koodiga, pakkudes struktureeritud lähenemisviisi jagatud loogika eraldamiseks platvormipõhistest rakendustest. See kasutab platvormi teenuste haldamiseks ROK -i ja sõltuvuse süstimist, võimaldab seadistusklassi kaudu kohandada ja toetab pistikprogramme funktsionaalsuse laiendamiseks platvormide vahel.
Tsitaadid:[1] https://github.com/mvvmcross/mvvmcross
]
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
]
]
]
]
]
]
]
]