Veja os apresentadores no MVVMcross desempenham um papel crucial no gerenciamento de como os modelos de visualização são apresentados em um aplicativo. Eles atuam como intermediários entre a camada do modelo de exibição e a interface do usuário real, permitindo uma apresentação flexível e específica da plataforma de visualizações.
Papel da visão dos apresentadores
1. Navegação e apresentação: Veja os apresentadores lidam com as solicitações dos modelos de exibição para navegar para novas visualizações ou alterar a apresentação dos existentes. Eles decidem como exibir essas visualizações com base nos recursos da plataforma e nos requisitos do aplicativo [1] [2].
2. Implementação específica da plataforma: Como os apresentadores lidam diretamente com a camada de visualização, eles são inerentemente específicos da plataforma. Isso permite que os desenvolvedores personalizem a apresentação com base no tipo de dispositivo, como o uso de guias no iOS e Android, mas uma visualização pivô no Windows Phone [1].
3. Personalização e flexibilidade: os apresentadores permitem que os desenvolvedores implementem diferentes estratégias de apresentação para vários tamanhos ou orientações de tela. Por exemplo, em uma pequena tela de telefone, uma lista e detalhes podem ser mostrados em telas separadas, enquanto em um tablet, elas podem ser exibidas lado a lado usando uma exibição dividida [1].
4. Uso dos valores de apresentação: os apresentadores podem receber informações adicionais através do `ApresentationValues`, que fazem parte do` mvxViewModelRequest`. Isso permite que os modelos de visualização passem dicas para o apresentador sobre como a visualização deve ser apresentada, como limpar a pilha de navegação após uma operação de login [7].
5. Apresentadores padrão e personalizados: o MVVMCROSS fornece apresentadores padrão para cada plataforma, mas os desenvolvedores também podem criar apresentadores personalizados para atender às necessidades de aplicativos específicas. Os apresentadores personalizados podem substituir o comportamento padrão para implementar padrões de navegação exclusivos ou estilos de apresentação [2] [4].
Métodos -chave dos apresentadores
- `show (mvxViewModelRequest Solicy)`: Este método é chamado quando 'showViewModel () `é chamado de um modelo de exibição. Ele constrói e exibe a visualização correspondente com base nos detalhes da solicitação [1].
- `Mudança de representação (mvxpresentationhint dica)`: Este método permite alterações de apresentação que não envolvem mostrar um novo modelo de visualização, como fechar uma visualização ou alterar seu modo de apresentação [1].
Benefícios do uso dos apresentadores de exibição
- Decomprância: os apresentadores ajudam a desacoplar a lógica do modelo de exibição da apresentação da interface do usuário, permitindo um código mais limpo e sustentável.
-Consistência entre plataformas: apesar das implementações específicas da plataforma, os apresentadores garantem que os modelos de exibição se comportem de forma consistente em diferentes plataformas.
- Personalização: eles fornecem uma maneira flexível de adaptar a interface do usuário a diferentes dispositivos e tamanhos de tela sem alterar a lógica do modelo de exibição.
Em resumo, os apresentadores de exibição no MVVMCROSS são essenciais para gerenciar como as visualizações são apresentadas em diferentes plataformas, oferecendo flexibilidade, personalização e uma separação limpa de preocupações entre o modelo de exibição e as camadas da interface do usuário.
Citações:[1] https://gregshackles.com/presenters-in-mvvmcross-a-primer/
[2] https://www.mvvmcross.com/documentation/getting-started/mvvmcross-overview
[3] https://learn.microsoft.com/en-us/archive/msdn-magazine/2011/december/mvpvm-design-pattern-the-model-view-presenter-viewmodel-design-pattern-for-wpf
[4] https://www.mvvmcross.com/mvvmcross-5-release/
[5] https://www.mvvmcross.com/documentation/platform/ios/ios-view-presenter
[6] https://softwareEngineering.stackexchange.com/questions/60774/model-view-presenter-implementation-thoughts
[7] https://gregshackles.com/presenters-in-mvvmcross-using-presentation-values/
[8] https://www.mvvmcross.com/documentation/platform/xamarin.forms/xamarin-forms-view-presenter
[9] https://www.gatling.xyz/explaining-model-view-presenter/
[10] https://www.mvvmcross.com/documentation/platform/android/android-view-presenter