Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuinka mvvmcross käsittelee alustakohtaista koodia


Kuinka mvvmcross käsittelee alustakohtaista koodia


MVVMCross on suunniteltu käsittelemään alustakohtaista koodia tehokkaasti erottamalla sovelluslogiikka kahteen pääosaan: ydinprojekti ja alustakohtaiset projektit. Ydinprojekti, tyypillisesti .NET-standardikirjasto, sisältää liiketoimintalogiikan, näkymämallit, mallit ja rajapinnat alustakohtaisille palveluille. Tämä mahdollistaa maksimaalisen koodin jakamisen eri alustoilla, kuten Android, iOS ja Windows.

alustakohtaiset projektit

Jokainen alustakohtainen projekti (esim. Xamarin.android, xamarin.ios) sisältää käyttöliittymän ja alustakohtaisten palvelujen toteuttamisen. Nämä projektit ovat vastuussa MVVMCross-kehyksen alustamisesta ja alustakohtaisten palvelujen rekisteröinnistä asennusluokan avulla. Asennusluokka toimii bootstrapperina MVVMCrossille, jolloin kehittäjät voivat mukauttaa kehyksen käyttäytymistä jokaiselle alustalle.

Controlin (IOC) ja riippuvuusinjektio

MVVMCROSS käyttää ohjauksen (IOC) inversion (IOC) -säiliön inversiota riippuvuuksien hallintaan koko sovelluksen. Tämä mahdollistaa alustakohtaisten palvelujen rekisteröinnin ja injektoinnin ydinprojektin logiikkaan. Esimerkiksi, jos sovelluksen on käytettävä GPS-sijaintipalveluita, GPS-palvelu voidaan rekisteröidä alustakohtaiseen asennusluokkaan ja injektoida sitten näkymämalleihin tai muihin ydinprojektin osiin.

Platform -käyttäytymisen mukauttaminen

Kehittäjät voivat mukauttaa alustakohtaisen käyttäytymisen ohittamalla menetelmät asennusluokassa. Esimerkiksi Androidilla voit ohittaa menetelmät `mvxandroidSetup` -sovelluksessa android-spesifisten palvelujen rekisteröimiseksi tai android-spesifisten elinkaaritapahtumien käsittelemiseksi. Samoin iOS: ssä käyttäisit `mvxiossetup` käsittelemään iOS-erityisiä alustus- ja palveluiden rekisteröintiä.

Näytä esittelijät

MVVMCross tarjoaa myös näkymäesittelijöitä, jotka vastaavat siitä, miten näkymät esitetään jokaisella alustalla. Tämä mahdollistaa käyttöliittymän esityslogiikan mukauttamisen, kuten näkymien näyttämisen modaalisesti tai osana navigointipinoa, alustan yleissopimuksista riippuen.

laajennukset ja laajennukset

MVVMCROSS tarjoaa laajennuskehyksen, jonka avulla kehittäjät voivat helposti integroida kolmansien osapuolien laajennukset yleisiin toimintoihin, kuten lokalisointiin, antureihin ja muihin. Näitä laajennuksia voidaan käyttää useilla alustoilla, mikä vähentää edelleen alustakohtaisen koodin tarvetta.

Yhteenvetona voidaan todeta, että MVVMCross käsittelee alustakohtaisen koodin tarjoamalla jäsennelty lähestymistapa jaetun logiikan erottamiseen alustakohtaisista toteutuksista. Se käyttää KOK- ja riippuvuuden injektiota alustapalvelujen hallintaan, sallii mukauttamisen asennusluokan kautta ja tukee laajennuksia toimintojen laajentamiseksi alustojen välillä.

Viittaukset:
[1] https://github.com/mvvmcross/mvvmcross
.
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
.
[5] https://stackoverflow.com/questions/14337063/platform-spesific-ioc-in-mvvmcross
.
.
.
[9.
[10.
.