MVVMCROSS ir daudzpusīgs savstarpējās platformas MVVM ietvars, kas atbalsta dažādas .NET platformas, ieskaitot Xamarin.ios, Xamarin.android, Xamarin.Mac, Xamarin.Forms, Universal Windows platformu (UWP) un Windows prezentācijas ietvaru (WPF) [1]. Tas nodrošina tādas funkcijas kā MVVM arhitektūra, navigācija, datu saistīšana, platformas atbalsts un atkarības injekcija [1]. Ņemot vērā tā elastību un savietojamību ar vairākām platformām, MVVMCROSS var izmantot kopā ar citiem .NET ietvariem, piemēram, csla.net.
Izmantojot mvvmcross ar csla.net
CSLA.NET ir biznesa objektu sistēma, ko var izmantot biznesa loģikas un piekļuves pārvaldīšanai. Tas atbalsta vairākas platformas, un to var integrēt ar MVVM ietvariem, lai izmantotu abu arhitektūru priekšrocības. Apvienojot CSLA.NET ar MVVMCROSS, izstrādātāji var izmantot CSLA.NET biznesa loģikai un datu pārvaldībai, vienlaikus izmantojot MVVMCross ar UI saistītiem uzdevumiem un savstarpējo platformu savietojamību.
Integrācijas pieeja:
1. Biznesa loģika ar csla.net: izmantojiet csla.net, lai definētu biznesa objektus un pārvaldītu piekļuvi datiem. CSLA.NET nodrošina tādas funkcijas kā datu validācija, biznesa noteikumi un datu noturība, kas ir būtiska stabilai biznesa loģikai.
2. UI un starpplatformu atbalsts ar MVVMCross: ieviesiet MVVMCROSS UI slānim, piesaistot tās MVVM arhitektūru, datu saistīšanu un starpplatformu atbalstu. Tas ļauj jums izveidot konsekventu lietotāja saskarni dažādās platformās.
3. ViewModel integrācija: Lai integrētu csla.net ar mvvmcross, jūs varat mantot no csla.net “ViewModelBase” (nevis `ViewModel”) un ieviest MVVMCross prasības tajā pašā klasē. Šī pieeja ļauj jums apvienot abu ietvaru stiprās puses, saglabājot tīru arhitektūru [2].
Izaicinājumi un apsvērumi:
- Pārnēsājamās klases bibliotēkas (PCL): CSLA.NET biznesa objekti var nebūt saderīgi ar PCL to sarežģītības dēļ, kuriem ir nepieciešama projekta savienošana, nevis PCL izmantošana tieši [2].
- Platformas ierobežojumi: jāapzinās platformas specifiski ierobežojumi, piemēram, refleksijas ierobežojumi noteiktā vidē, piemēram, Silverlight vai WP8 [2].
Rezumējot, MVVMCROSS var efektīvi izmantot kopā ar CSLA.NET, piesaistot CSLA.NET biznesa loģikai un MVVMCROSS UI un starpplatformu atbalstam. Šī kombinācija ļauj izstrādātājiem izveidot stabilas, uzturējamas lietojumprogrammas vairākās platformās.
Atsauces:[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-strategy
.
[4] https://www.mvvmcross.com/documentation/fundamentals/data
.
[6] https://github.com/mvvmcross/mvvmcross
[7] https://www.mvvmcross.com
[8] https://cslanet.com/old-forum/8575.html