MVVMCross je všestranný meziplatnový rámec MVVM, který podporuje různé platformy .NET, včetně Xamarin.IOS, Xamarin.Android, Xamarin.Mac, Xamarin.Forms, Platform Universal Windows Platform (UWP) a Windows Presentation Framework (WPF) [1]. Poskytuje funkce, jako je architektura MVVM, navigace, vazba dat, podpora specifická pro platformu a injekce závislosti [1]. Vzhledem k jeho flexibilitě a kompatibilitě s více platformami lze MVVMCross použít spolu s dalšími rámci .NET, jako je CSLA.NET.
Používání mvvmcross s csla.net
CSLA.net je rámec obchodních objektů, který lze použít ke správě obchodní logiky a přístupu k datům. Podporuje více platforem a může být integrován do MVVM Frameworks, aby se využil výhod obou architektur. Při kombinaci CSLA.NET s MVVMCross mohou vývojáři použít CSLA.NET pro obchodní logiku a správu dat a přitom využít MVVMCROSS pro úkoly související s UI a kompatibilitu napříč platformami.
Integrační přístup:
1. Obchodní logika s CSLA.NET: Použijte CSLA.NET k definování obchodních objektů a správě přístupu k datům. CSLA.net poskytuje funkce, jako je ověření dat, obchodní pravidla a perzistence dat, které jsou nezbytné pro robustní obchodní logiku.
2. Podpora UI a napříč platformami s MVVMCross: Implementujte MVVMCross pro vrstvu UI a využívat svou architekturu MVVM, vazbu dat a podpora napříč platformami. To vám umožní vytvořit konzistentní uživatelské rozhraní na různých platformách.
3. ViewModel Integration: Chcete -li integrovat CSLA.NET s mvvmcross, můžete zdědit z `ViewModelbase`) CSLA.NET (ne` ViewModel`) a implementovat požadavky MVVMCross ve stejné třídě. Tento přístup umožňuje kombinovat silné stránky obou rámců při zachování čisté architektury [2].
Výzvy a úvahy:
- Přenosné knihovny tříd (PCL): Objekty CSLA.NET nemusí být kompatibilní s PCL kvůli jejich složitosti, což vyžaduje propojení projektu namísto přímého používání PCL [2].
- Omezení platformy: Uvědomte si omezení specifická pro platformu, jako jsou omezení reflexe v určitých prostředích, jako je Silverlight nebo WP8 [2].
Stručně řečeno, MVVMCross lze s CSLA.NET efektivně používat využitím CSLA.NET pro obchodní logiku a MVVMCross pro uživatelské rozhraní a podporu mezi platformami. Tato kombinace umožňuje vývojářům vytvářet robustní a udržovatelné aplikace na více platformách.
Citace:[1] https://www.mvvmcross.com/documentation/getting-started/getting-started
[2] https://stackoverflow.com/questions/17373587/how-well--mvvmcross-and-t-work-wogether-in-a-platform-trategy
[3] https://stackoverflow.com/questions/75320482/can-not-install-mvvmcross-9-0-9-net6-creating-a-new-ndroid-project-in-vs2022
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/49688230/mvvmcross-platform-5-7-0-was-restored-utframework-version-v4-6-1
[6] https://github.com/mvvmcross/mvvmcross
[7] https://www.mvvmcross.com
[8] https://cslanet.com/old-forum/8575.html