Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Qual é o papel dos apresentadores de visão em mvvmcross


Qual é o papel dos apresentadores de visão em mvvmcross


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