Microsoft.extensions.DependencyInive koos mvvmcrossi abil võib esitada mitmeid väljakutseid ja teadaolevaid probleeme:
1. kokkusobimatus MVVMCROSSi käivitusprotsessiga: MVVMCROSS nõuab võimalust lahendada komponendid osaliselt läbi seadistusprotsessi ja jätkata seejärel rohkem komponentide registreerimist. Kuid Microsoft.Extensions.DependencyIncence (Ms.DI) nõuab kõigi komponentide registreerimist enne teenuse kogumisse helistamist. See põhimõtteline erinevus muudab kaks süsteemi kokkusobimatuks ilma täiendavate lahendusteta, näiteks teenuste käsitsi tõlkimine ühest konteinerist teise [1].
2. kaheastmeline käivitusprotsess: MVVMCROSS-iga Ms.DI kasutamiseks ehitavad arendajad sageli Ms.DI teenusekogu ja tõlkivad selle teenused MVVMCROSS `IMVXIOCPROVIDER` eksemplari. See lähenemisviis tutvustab kaheastmelist käivitusprotsessi, mis võib olla tülikas ja võib põhjustada täiendavat keerukust ja võimalikke probleeme [1].
3. Sõltuvuse süstimise piirangud: MVVMCROSSi ROK -i konteiner kohtleb singletoni aspekti liidese tasemel, mitte hetkeliigi. See tähendab, et kui klass rakendab mitut liidest, võib MVVMcross luua iga liidese jaoks eraldi eksemplare, välja arvatud juhul, kui seda selgesõnaliselt hallatakse [4]. Kuigi see pole otseselt seotud Ms.DI -ga, rõhutab see erinevate sõltuvuste süstimissüsteemide integreerimisel vajadust hoolika juhtimise järele.
4. Uuendamine ja ühilduvusprobleemid: MVVMCrossi versioonide täiendamine võib mõnikord tutvustada sõltuvuse süstimisega seotud probleeme, eriti baasvaate mudelite kasutamisel. Näiteks konstruktori valiku loogika muutused versioonide vahel võivad mõjutada sõltuvuste süstitamist [2].
Nendest väljakutsetest ülesaamiseks otsustavad arendajad sageli MVVMCrossi funktsionaalsust täiustada, asendamata selle ROK -i põhilist konteinerit. See võimaldab kasutada MVVMCROSSi kõrval täiendavaid sõltuvuse süstimisraamistikke, näiteks Ms.DI, pakkudes paindlikkust ROK -i pakkuja valimisel [1] [5]. See nõuab aga konfliktide vältimiseks ja sujuva integreerimise tagamiseks hoolikat seadistamist ja juhtimist.
Kokkuvõtlikult on võimalik, et kuigi Microsoft.extensions.gependencyintion koos mvvmcrossiga on võimalik, nõuab see teadaolevate probleemide vältimiseks käivitamisprotsessi, võimalikku kokkusobimatust ja sõltuvuste hoolikat juhtimist hoolikalt.
Tsitaadid:[1] https://github.com/mvvmcross/mvvmcross/issues/4436
[2] https://github.com/mvvmcross/mvvmcross/issues/4183
[3] https://docs.partikular.net/nservicebus/dependency-precnesection/extensions-dependencyInce
]
[5] https://github.com/mvvmcross/mvvmcross/issues/3804
[6] https://www.mvvmcross.com/documentation/fundamentals/data-binding
]
[8] https://www.mvvmcross.com/documentation/fundantals