Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Onko Microsoft.Extensions. -riippuvuuden käyttämisessä MVVMCROSS: n käyttämisessä tiedossa olevia ongelmia


Onko Microsoft.Extensions. -riippuvuuden käyttämisessä MVVMCROSS: n käyttämisessä tiedossa olevia ongelmia


Microsoft.Extensions. -riippuvuuden käyttäminen MVVMCROSS: llä voi olla useita haasteita ja tunnettuja kysymyksiä:

1. Yhteensopimattomuus MVVMCross -käynnistysprosessin kanssa: MVVMCross vaatii kyvyn ratkaista komponentit osittain asennusprosessin läpi ja jatkaa sitten lisää komponenttien rekisteröintiä. Microsoft.Extensions.DipentencyInjection (Ms.DI) edellyttää kuitenkin kaikkien komponenttien rekisteröimistä ennen soittamista ".Build ()" -palvelun kokoelmaan. Tämä perustavanlaatuinen ero tekee kahdesta järjestelmästä yhteensopimattomia ilman ylimääräisiä kiertotapoja, kuten palvelun manuaalista kääntäminen säilytyksestä toiseen [1].

2. Kaksivaiheinen käynnistysprosessi: Ms.DI: n hyödyntämiseksi MVVMCROSS: llä kehittäjät rakentavat usein Ms.DI-palvelun kokoelman ja kääntävät sen sitten palvelut mvvmcross `imvxiocprovider '-ilmentymään. Tämä lähestymistapa esittelee kaksivaiheisen käynnistysprosessin, joka voi olla hankala ja voi johtaa ylimääräisiin monimutkaisuuteen ja mahdollisiin ongelmiin [1].

3. Riippuvuusinjektiorajoitukset: MVVMCROSS: n IOC -säiliö käsittelee singleton -näkökulmaa rajapinnan tasolla, ei immektoituneella tyypillä. Tämä tarkoittaa, että jos luokka toteuttaa useita rajapintoja, MVVMCross saattaa luoda erilliset esiintymät jokaiselle rajapinnalle, ellei nimenomaisesti hallita [4]. Vaikka tämä ei liity suoraan Ms.DI: hen, se korostaa huolellisen hallinnan tarvetta integroidessaan erilaisia ​​riippuvuusinjektiojärjestelmiä.

4. Esimerkiksi rakenteen valintalogiikan muutokset versioiden välillä voivat vaikuttaa siihen, miten riippuvuudet injektoidaan [2].

Näiden haasteiden ratkaisemiseksi kehittäjät päättävät usein parantaa MVVMCrossin toiminnallisuutta korvaamatta sen ydinkonsisäisiä. Tämä mahdollistaa ylimääräisten riippuvuusinjektiokehysten, kuten Ms.DI: n, käytön MVVMCrossin rinnalla tarjoamalla joustavuutta KOK -palveluntarjoajan valinnassa [1] [5]. Tämä vaatii kuitenkin huolellista asennusta ja hallintaa konfliktien välttämiseksi ja saumattoman integraation varmistamiseksi.

Yhteenvetona voidaan todeta, että käyttämällä Microsoft.Extensions.EpenencyInjection MVVMCROSS: llä on mahdollista, se vaatii käynnistysprosessin, mahdollisten yhteensopimattomuuksien ja riippuvuuksien huolellisen hallinnan huolellisen tarkastelun tunnettujen kysymysten välttämiseksi.

Viittaukset:
[1] https://github.com/mvvmcross/mvvmcross/issues/4436
[2] https://github.com/mvvmcross/mvvmcross/issues/4183
.
.
[5] https://github.com/mvvmcross/mvvmcross/issues/3804
[6] https://www.mvvmcross.com/documentation/fundamentals/data-binding
.
.