MVVMcross-это универсальная кроссплатформенная структура MVVM, которая поддерживает различные платформы .NET, включая Xamarin.ios, Xamarin.android, Xamarin.mac, Xamarin.forms, Universal Windows Platform (UWP) и Framework презентации Windows (WPF) [1]. Он предоставляет такие функции, как архитектура MVVM, навигация, связывание данных, поддержка с конкретной платформой и инъекция зависимостей [1]. Учитывая его гибкость и совместимость с несколькими платформами, MVVMcross может использоваться вместе с другими кадрами .NET, такими как CSLA.NET.
Использование mvvmcross с csla.net
CSLA.net - это структура бизнес -объекта, которая может использоваться для управления бизнес -логикой и доступом к данным. Он поддерживает несколько платформ и может быть интегрирован с фреймворками MVVM для использования преимуществ обеих архитектур. При объединении csla.net с MVVMcross разработчики могут использовать CSLA.net для бизнес-логики и управления данными, используя при использовании MVVMcross для задач, связанных с пользовательским интерфейсом, и кроссплатформенной совместимости.
Подход интеграции:
1. Бизнес -логика с csla.net: используйте csla.net для определения бизнес -объектов и управления доступом к данным. CSLA.net предоставляет такие функции, как проверка данных, бизнес -правила и стойкость данных, которые необходимы для надежной бизнес -логики.
2. Поддержка пользовательского интерфейса и кроссплатформенного платформы с помощью MVVMcross: реализовать MVVMcross для уровня пользовательского интерфейса, используя ее архитектуру MVVM, привязку данных и кроссплатформенную поддержку. Это позволяет вам создавать согласованный пользовательский интерфейс на разных платформах.
3. Интеграция ViewModel: чтобы интегрировать csla.net с MVVMcross, вы можете унаследовать от CSLA.net `viewModelbase` (не` viewModel`) и реализовать требования MVVMcross в том же классе. Этот подход позволяет вам объединить сильные стороны обеих рамок при сохранении чистой архитектуры [2].
Проблемы и соображения:
- Портативные библиотеки классов (PCLS): бизнес -объекты CSLA.NET могут быть не совместимы с PCLS из -за их сложности, требуя связывания проекта вместо непосредственного использования PCL [2].
- Ограничения на платформе: Имейте в виду ограничения для конкретной платформы, такие как ограничения размышлений в определенных средах, таких как Silverlight или WP8 [2].
Таким образом, MVVMcross может эффективно использовать с csla.net, используя csla.net для бизнес-логики и MVVMcross для пользовательского интерфейса и кроссплатформенной поддержки. Эта комбинация позволяет разработчикам создавать надежные, обслуживаемые приложения на нескольких платформах.
Цитаты:[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
[3.]
[4] https://www.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/49688230/mvvmcross-core-platform-5-7-0-was-drestored-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