Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ako MVVMCross riadi počítač špecifický pre platformu


Ako MVVMCross riadi počítač špecifický pre platformu


MVVMCROSS je navrhnutý tak, aby efektívne zvládol kód špecifický pre platformu tým, že rozdeľuje logiku aplikácie na dve hlavné časti: základný projekt a projekty špecifické pre platformu. Základný projekt, zvyčajne štandardná knižnica .NET, obsahuje obchodnú logiku, modely, modely a rozhrania pre služby špecifické pre platformu. To umožňuje maximálne zdieľanie kódu na rôznych platformách, ako sú Android, iOS a Windows.

Platform špecifické projekty

Každý projekt špecifický pre platformu (napr. Xamarin.android, Xamarin.ios) obsahuje používateľské rozhranie a implementáciu služieb špecifických pre platformu. Tieto projekty sú zodpovedné za inicializáciu rámca MVVMCross a registráciu služieb špecifických pre platformu pomocou triedy nastavenia. Trieda nastavenia pôsobí ako bootstrapper pre MVVMCross, čo vývojárom umožňuje prispôsobiť správanie rámca pre každú platformu.

Inverzia kontroly (IOC) a injekcia závislosti

MVVMCross používa inverziu kontajnera riadenia (IOC) na správu závislostí v celej aplikácii. To umožňuje registráciu a vstrekovanie služieb špecifických pre platformu do logiky základného projektu. Napríklad, ak aplikácia potrebuje prístup k službám polohy GPS, služba GPS môže byť zaregistrovaná v triede nastavenia špecifickej pre platformu a potom sa vstrekne do zobrazovacích modelov alebo do iných častí základného projektu.

Prispôsobenie správania platformy

Vývojári si môžu prispôsobiť správanie špecifické pre platformu prostredníctvom potlačenia metód v triede nastavenia. Napríklad v systéme Android môžete prepísať metódy v `MVXandroidSetup 'na registráciu služieb špecifických pre Android alebo na zvládnutie životného cyklu špecifického pre Android. Podobne by ste na iOS použili na zvládnutie inicializácie špecifickej pre iOS a registráciu služieb „MVXIOSSETUP“.

Zobraziť moderátory

MVVMCross poskytuje aj prezentátorov View, ktorí sú zodpovední za rozhodovanie o tom, ako sa zobrazia zobrazenia na každej platforme. To umožňuje prispôsobenie logiky prezentácie používateľského rozhrania, ako je napríklad zobrazovanie zobrazení modely alebo ako súčasť navigačného zásobníka, v závislosti od konvencií platformy.

doplnky a rozšírenia

MVVMCross ponúka rámec doplnkov, ktorý vývojárom umožňuje ľahko integrovať doplnky tretích strán pre bežné funkcie, ako sú lokalizácia, senzory a ďalšie. Tieto doplnky sa môžu použiť na viacerých platformách, čím sa ďalej znižuje potreba kódu špecifického pre platformu.

Stručne povedané, MVVMCross spracováva kód špecifický pre platformu poskytnutím štruktúrovaného prístupu k oddeleniu zdieľanej logiky od implementácií špecifických pre platformu. Používa IOC a injekciu závislosti na správu služieb platformy, umožňuje prispôsobenie prostredníctvom triedy nastavenia a podporuje doplnky na rozšírenie funkcií na platformách.

Citácie:
[1] https://github.com/mvvmcross/mvvmcross
[2] https://dev.to/christian1006/creating-cross-platform-xamarin-Applications-using-the-mvvvvvmcross-framework-2920
[3] https://canbilgin.wordpress.com/tag/mvvmcross/
[4] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-verview
[5] https://stackoverflow.com/questions/14337063/platform-specific-ioc-in-mvvvmcross
[6] https://stackoverflow.com/questions/61641185/platform-specific-service-causes-an-exception-mvvvmcross-xamarin-ios
[7] https://leaware.com/creating-cross-platform-xamarin-applications-using-the-mvvvvmcross-framework/
[8] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-package
[9] https://www.codeproject.com/articles/863695/introduction-to-mvvmcross-platform
[10] https://www.mvvmcross.com/documentation/getting-started/getting-started
[11] https://www.mvvmcross.com/documentation/advanced/custoughising-using-app-and-setup