MVVMCross -asennusluokalla on ratkaiseva rooli kehyksen käynnistyksenä, joka vastaa sovelluksen infrastruktuurin alustamisesta ja määrittämisestä. Se on pakollinen komponentti jokaisessa alustakohtaisessa projektissa, kuten iOS, Android tai UWP, ja palvelee useita avaintoimintoja:
1. Kehysalustaminen: Asennusluokka alustaa MVVMCross-kehyksen asettamalla välttämättömiä komponentteja, kuten Control (IOC) -säiliön inversio, tietoa sitova moottori, ViewModel/View-haku, navigointijärjestelmä ja laajennukset. Tämä prosessi esiintyy kahdessa päävaiheessa: `aluseprimary` ja` alustesCondary`. Entinen alustaa pääkomponentit päälannassa, kun taas jälkimmäinen rakentaa alustapalvelut taustalla [1] [9].
2. App Class Creation: Asennusluokka on vastuussa "App" -luokan esiintymän luomisesta, joka on määritelty ydinprojektissa. "App" -luokka alustaa sovelluksen liiketoimintalogiikan ja ViewModels [4] [10].
3. Palvelun rekisteröinti: Se tarjoaa paikan rekisteröimiseen alustakohtaisia palveluita ja laajennuksia IOC-säilöllä. Tämän avulla kehittäjät voivat injektoida riippuvuuksia sovellukseensa, mikä helpottaa monimutkaisen logiikan hallintaa eri alustojen välillä [4] [10].
4. Mukauttaminen: Asennusluokka tarjoaa räätälöintiä menetelmillä, kuten `alustuskehystys` ja` aluskysymyksen '. Näiden menetelmien avulla kehittäjät voivat rekisteröidä alustakohtaisia liiketoimintaobjekteja tai palveluita, kuten salauspalveluita, ennen kuin sovellus alustaa kokonaan [10].
5. Virheenkorjaus ja kirjaaminen: Se on myös mukana virheenkorjaus- ja hakkuusmekanismien perustamisessa, kuten "Debugtrace" -tapahtuman luominen, joka auttaa diagnosoimaan ongelmia kehityksen aikana [7].
Yhteenvetona voidaan todeta, että asennusluokka on välttämätön MVVMCROSS -sovellusten käynnistykseen varmistaen, että kaikki tarvittavat komponentit alustetaan ja määritetään oikein ennen sovelluksen alkamista. Se toimii sillana alustakohtaisen käyttöliittymäprojektin ja Portable Class Library (PCL) tai .NET-standardikirjaston määritetyn ydinlogiikan välillä.
Viittaukset:[1] https://www.mvvmcross.com/documentation/tutorials/tipcalc/a-xamarinios-ui-project
[2] https://stackoverflow.com/questions/34329985/
.
.
.
.
.
[8] https://nicksnetTravels.builttoroam.com/post-2017-12-28
[9.
[10] https://www.mvvmcross.com/documentation/advanced/customizing-using-app-an-setup
.