„MVVMCross“ yra universalios platformos MVVM sistema, palaikanti įvairias .NET platformas, įskaitant „Xamarin.ios“, „Xamarin.android“, „Xamarin.mac“, „Xamarin.Forms“, „Universal Windows“ platformą (UWP) ir „Windows“ pateikimo sistemą (WPF) [1]. Jame pateikiamos tokios funkcijos kaip MVVM architektūra, navigacija, duomenų surišimas, konkrečios platformos palaikymas ir priklausomybės injekcija [1]. Atsižvelgiant į jo lankstumą ir suderinamumą su keliomis platformomis, MVVMCross gali būti naudojamas kartu su kitomis .NET sistemomis, tokiomis kaip csla.net.
naudojant mvvmcross su csla.net
CSLA.NET yra verslo objektų sistema, kuri gali būti naudojama verslo logikai ir prieigai prie duomenų valdymui. Jis palaiko kelias platformas ir gali būti integruotas su MVVM sistemomis, kad būtų galima panaudoti abiejų architektūrų pranašumus. Derindami csla.net su MVVMCross, kūrėjai gali naudoti CSLA.NET verslo logikai ir duomenų valdymui, naudodamiesi „MvVMCross“ UI susijusioms užduotims ir suderinamumui tarp platformų.
Integracijos metodas:
1. Verslo logika su csla.net: Norėdami apibrėžti verslo objektus ir valdyti duomenų prieigą, naudokite CSLA.NET. „CSLA.NET“ pateikia tokias funkcijas kaip duomenų patvirtinimas, verslo taisyklės ir duomenų patvarumas, kurios yra būtinos tvirtai verslo logikai.
2. UI ir kryžminio platformos palaikymas naudojant „MVVMCross“: Įdiekite „MVVMCross“ UI sluoksnį, pasinaudodami jo MVVM architektūra, duomenų surišimu ir įvairių platformų palaikymu. Tai leidžia sukurti nuoseklią vartotojo sąsają įvairiose platformose.
3. „ViewModel“ integracija: Norėdami integruoti csla.net su MVVMCross, galite paveldėti iš cslA.net „ViewModelbase“ (ne „ViewModel“) ir įgyvendinti MVVMCROSS reikalavimus toje pačioje klasėje. Šis metodas leidžia sujungti abiejų sistemų stipriąsias puses išlaikant švarią architektūrą [2].
iššūkiai ir svarstymai:
- Nešiojamos klasės bibliotekos (PCLS): CSLA.NET Verslo objektai gali būti nesuderinami su PCL dėl jų sudėtingumo, reikalaujant projekto susiejimo, o ne tiesiogiai naudoti PCL [2].
- Platformos apribojimai: Žinokite apie konkrečias platformos apribojimus, tokius kaip atspindžio apribojimai tam tikroje aplinkoje, pavyzdžiui, „Silverlight“ ar WP8 [2].
Apibendrinant galima pasakyti, kad „MvVMCross“ galima efektyviai naudoti su csla.net, pasinaudojant csla.net verslo logikai ir „mvvmcross“ UI ir įvairių platformų palaikymui. Šis derinys leidžia kūrėjams sukurti tvirtas, prižiūrimas programas keliose platformose.
Citatos:[1] https://www.mvvmcross.com/documentation/getting-started/getting-started
[2] https://stackoverflow.com/questions/17373587/how-well-would-mvvmcross-and-csla-net-work-together-in-a-multi-platform-straty
[3] https://stackoverflow.com/questions/75320482/can-not-install-mvvmcross-9-0-9-net6-creating-a-new-Android-project-in-VS2022
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/49688230/mvvmcross-core-platform-5-7-0 was-restored-using-netframework-version-v4-6-1
[6] https://github.com/mvvmcross/mvvmcross
[7] https://www.mvvmcross.com
[8] https://cslanet.com/old-forum/8575.html