Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon O MVVMcross pode ser usado com outras estruturas .NET como CSLA.NET


O MVVMcross pode ser usado com outras estruturas .NET como CSLA.NET


O MVVMcross é uma estrutura MVVM versátil de plataforma cruzada que suporta várias plataformas .NET, incluindo Xamarin.ios, Xamarin.android, Xamarin.mac, Xamarin.forms, plataforma universal do Windows (UWP) e estrutura de apresentação do Windows (WPF) [1]. Ele fornece recursos como arquitetura MVVM, navegação, ligação de dados, suporte específico da plataforma e injeção de dependência [1]. Dada sua flexibilidade e compatibilidade com várias plataformas, o MVVMCROSS pode ser usado juntamente com outras estruturas .NET como csla.net.

Usando mvvmcross com csla.net

O CSLA.NET é uma estrutura de objetos de negócios que pode ser usada para gerenciar a lógica de negócios e o acesso a dados. Ele suporta várias plataformas e pode ser integrado às estruturas do MVVM para alavancar os benefícios de ambas as arquiteturas. Ao combinar o CSLA.NET com o MVVMCROSS, os desenvolvedores podem usar o CSLA.net para lógica de negócios e gerenciamento de dados enquanto utiliza o MVVMCROSS para tarefas relacionadas à UI e compatibilidade entre plataformas.

Abordagem de integração:

1. Lógica de negócios com csla.net: use csla.net para definir objetos de negócios e gerenciar o acesso a dados. O CSLA.NET fornece recursos como validação de dados, regras de negócios e persistência de dados, essenciais para a lógica de negócios robusta.

2. Suporte de interface do usuário e plataforma cruzada com MVVMCROSS: Implemente MVVMcross para a camada da interface do usuário, alavancando sua arquitetura MVVM, ligação de dados e suporte cruzado. Isso permite que você crie uma interface do usuário consistente em diferentes plataformas.

3. Integração do ViewModel: Para integrar o csla.net ao mvvmcross, você pode herdar do csla.NET `ViewModelBase` (não` ViewModel`) e implementar os requisitos da MVVMcross na mesma classe. Essa abordagem permite combinar os pontos fortes de ambas as estruturas, mantendo uma arquitetura limpa [2].

Desafios e considerações:

- Bibliotecas de classes portáteis (PCLs): os objetos de negócios CSLA.NET podem não ser compatíveis com PCLs devido à sua complexidade, exigindo a ligação do projeto em vez de usar PCLs diretamente [2].
- Limitações da plataforma: Esteja ciente das limitações específicas da plataforma, como restrições de reflexão em certos ambientes como Silverlight ou WP8 [2].

Em resumo, o MVVMcross pode ser efetivamente usado com o CSLA.NET, aproveitando o CSLA.NET para lógica de negócios e MVVMcross para o suporte de interface do usuário e plataforma cruzada. Essa combinação permite que os desenvolvedores criem aplicativos robustos e sustentáveis ​​em várias plataformas.

Citações:
[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-plataform-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.mvvmcross.com/documentation/fundamentals/data-binding
[5] https://stackoverflow.com/questions/49688230/mvvmcross-core-platform-5-7-0-was-restored-unsing-netframework-version-v4-6-1-1
[6] https://github.com/mvvmcross/mvvmcross
[7] https://www.mvvmcross.com
[8] https://cslanet.com/old-forum/8575.html