MVVMCross ist ein vielseitiges plattformübergreifendes MVVM-Framework, das verschiedene .NET-Plattformen unterstützt, darunter Xamarin.ios, Xamarin.android, Xamarin.mac, Xamarin.Forms, Universal Windows Platform (UWP) und Windows-Präsentationsrahmen (WPF) [1]. Es bietet Funktionen wie MVVM-Architektur, Navigation, Datenbindung, plattformspezifische Unterstützung und Abhängigkeitsinjektion [1]. Angesichts seiner Flexibilität und Kompatibilität mit mehreren Plattformen kann MVVMCross neben anderen .NET -Frameworks wie CSLA.net verwendet werden.
Verwenden Sie mvvmcross mit csla.net
CSLA.net ist ein Geschäftsobjektframework, mit dem die Geschäftslogik und der Datenzugriff verwaltet werden können. Es unterstützt mehrere Plattformen und kann in MVVM -Frameworks integriert werden, um die Vorteile beider Architekturen zu nutzen. Bei der Kombination von CSLA.NET mit MVVMCross können Entwickler CSLA.NET für Geschäftslogik und Datenverwaltung verwenden und gleichzeitig MVVMCross für UI-bezogene Aufgaben und plattformübergreifende Kompatibilität verwenden.
Integrationsansatz:
1. Geschäftslogik mit CSLA.NET: Verwenden Sie CSLA.net, um Geschäftsobjekte zu definieren und den Datenzugriff zu verwalten. CSLA.NET bietet Funktionen wie Datenvalidierung, Geschäftsregeln und Datenpersistenz, die für eine robuste Geschäftslogik unerlässlich sind.
2. Unterstützung von UI und plattformübergreifend mit MVVMCross: MVVMCROSS für die UI-Schicht implementieren, und nutzen Sie die MVVM-Architektur, die Datenbindung und die plattformübergreifende Unterstützung. Auf diese Weise können Sie eine konsistente Benutzeroberfläche über verschiedene Plattformen hinweg erstellen.
3.. ViewModel -Integration: Um CSLA.NET in MVVMCross zu integrieren, können Sie von CSLA.NETs "ViewModelBase" (nicht `viewModel`) erben und die Anforderungen von MVVMCross in derselben Klasse implementieren. Mit diesem Ansatz können Sie die Stärken beider Frameworks kombinieren und gleichzeitig eine saubere Architektur beibehalten [2].
Herausforderungen und Überlegungen:
- Tragbare Klassenbibliotheken (PCLS): CSLA.NET -Geschäftsobjekte sind aufgrund ihrer Komplexität möglicherweise nicht mit PCLS kompatibel, und erfordert eine Projektverbindung, anstatt PCLs direkt zu verwenden [2].
- Plattformbeschränkungen: Beachten Sie plattformspezifische Einschränkungen wie Reflexionsbeschränkungen in bestimmten Umgebungen wie Silverlight oder WP8 [2].
Zusammenfassend kann Mvvmcross mit CSLA.NET effektiv verwendet werden, indem CSLA.NET für Geschäftslogik und MVVMCross für die Unterstützung von UI und plattformübergreifend eingesetzt werden. Mit dieser Kombination können Entwickler robuste, wartbare Anwendungen auf mehreren Plattformen erstellen.
Zitate:[1] https://www.mvmcross.com/documentation/getting-started/getting-started
[2] https://stackoverflow.com/questions/17373587/how-well-would-mvmcross-and-csla-net-work-together-in-a-multi- plattform-strategy
[3] https://stackoverflow.com/questions/75320482/can-not-install-mvmcross-9-0-9-net6-creating-a-new-android-project-in-vs2022
[4] https://www.mvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/49688230/mvmcross-core-platform-5-7-0-srestored-using-netframework-version-v4-6-1
[6] https://github.com/mvvmcross/mvmcross
[7] https://www.mvvmcross.com
[8] https://cslanet.com/old-forum/8575.html