Bērnu konteineru izmantošana MVVMCROSS piedāvā vairākas priekšrocības, jo īpaši atkarību pārvaldībā sarežģītās lietojumprogrammās. Šeit ir dažas no galvenajām priekšrocībām:
Elastība atkarības pārvaldībā
Bērnu konteineri ļauj reģistrēt gadījumus vai veidus noteiktam mērķim, neietekmējot mēroga konteineru. Tas nozīmē, ka jums var būt atšķirīga pakalpojumu vai saskarņu ieviešana dažādām jūsu lietojumprogrammas daļām, kas ir īpaši noderīga scenārijos, kur jums ir jāizolē atkarības noteiktai funkcijai vai sesijai [1] [4].
Atkarību izolēšana
Izmantojot bērnu konteinerus, jūs varat izolēt atkarības, kurām ir ierobežots dzīves laiks vai kas ir raksturīgas noteiktam kontekstam. Tas palīdz uzturēt tīru un organizētu atkarības struktūru, padarot vieglāku jūsu lietojumprogrammas pārvaldību un atkļūdošanu [1] [4].
Atkarību mantojums
Katrs bērna konteiners manto visas atkarības, kas reģistrētas no tā vecāku konteinera. Tas nodrošina, ka jums nav jādublē kopīgu pakalpojumu reģistrācija dažādās jūsu pieteikuma daļās. Tā vietā jūs varat koncentrēties uz tikai īpašo atkarību reģistrēšanu, kas nepieciešama bērna konteinera darbības jomai [1] [4].
Dziļā ligzdošana
MVVMCROSS ļauj jums izveidot tik daudz un tik dziļi ligzdotu bērnu konteineru, cik nepieciešams. Šī elastība ir izdevīga sarežģītās lietojumprogrammās, kurās dažādiem moduļiem vai funkcijām ir nepieciešams pats atkarību kopums, neiejaucoties galvenās lietojumprogrammas atkarībās [1] [4].
Vienkāršota pārbaude
Bērnu konteineru izmantošana var arī vienkāršot testēšanu, ļaujot jums viegli izsmiet vai aizstāt atkarības no īpašiem testa scenārijiem. Šī izolācija palīdz rakstīt koncentrētākus vienības testus, neietekmējot vispārējās lietojumprogrammas atkarības struktūru [5].
Uzlabota modularitāte
Bērnu konteineri veicina modularitāti, ļaujot jums pārvaldīt atkarības pēc smalkākas granularitātes. Šī modularitāte ir būtiska starpplatformu izstrādē, kur dažādām platformām var būt nepieciešama atšķirīga pakalpojumu vai saskarņu ieviešana [5] [7].
Kopumā bērnu konteineri MVVMCROSS nodrošina jaudīgu rīku, lai pārvaldītu atkarības sarežģītās lietojumprogrammās, elastības, modularitātes un uzturēšanas uzlabošanas uzlabošanu.
Atsauces:[1] https://www.mvvmcross.com/documentation/fundamentals/inversion-of-control-ioc
[2] https://canbilgin.wordpress.com/2017/02/26/developing-universalcross-platform-apps-with-mvvm-vii/
[3] https://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparison
[4] https://www.mvvmcross.com/mvvmcross-6.0.0-rease/
[5] https://dev.to/christian1006/creating-cross-platform-xamarin-applications-using-the-mvvmcross-framework-2920
[6] https://github.com/aalice072/mvvmcross/blob/master/changelog.md
[7] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[8] https://livebook.manning.com/book/xamarin-in-acaction/chapter-4/
[9] https://stackoverflow.com/questions/16514691/child-containers-in-mvmcross-ioc