Model-View-Presenter no WinForms

Estou tentando implementar o método MVP pela primeira vez, usando o WinForms.

Estou tentando entender a função de cada camada.

No meu programa, tenho um botão GUI que, quando clicado, abre uma janela de arquivo aberto.

Portanto, usando o MVP, a GUI manipula o evento click do botão e chama presenter.openfile ();

Em presenter.openfile (), isso deve delegar a abertura desse arquivo para a camada de modelo ou, como não há dados ou lógica para processar, ele deve simplesmente atuar na solicitação e abrir a janela openfiledialog?

Atualizar: Decidi oferecer uma recompensa, pois acho que preciso de mais assistência e, de preferência, adaptada aos meus pontos específicos abaixo, para que eu tenha contexto.

Ok, depois de ler o MVP, decidi implementar a Passive View. Efetivamente, terei vários controles em um Winform que serão tratados por um apresentador e, em seguida, as tarefas delegadas ao (s) modelo (s). Meus pontos específicos estão abaixo:

Quando o winform é carregado, ele precisa obter uma visualização em árvore. Estou correto ao pensar que a visualização deve, portanto, chamar um método como: presenter.gettree (), que por sua vez delegará ao modelo, que obterá os dados para a exibição em árvore, criará e configurará, retornará ao apresentador, que por sua vez passará para a exibição, que simplesmente a designará para, digamos, um painel?

Seria o mesmo para qualquer controle de dados no Winform, pois também tenho um DataGridView?

Meu aplicativo, possui várias classes de modelo com o mesmo assembly. Ele também suporta uma arquitetura de plug-in com plug-ins que precisam ser carregados na inicialização. A visão simplesmente chamaria um método apresentador, que por sua vez chamaria um método que carrega os plugins e exibia as informações na visão? Qual camada controlaria as referências do plug-in. A visualização conteria referências a eles ou ao apresentador?

Estou correto ao pensar que a exibição deve lidar com tudo o que se refere à apresentação, desde a cor do nó do treeview ao tamanho da grade de dados, etc.?

Penso que são as minhas principais preocupações e, se entender como deve ser o fluxo para estas, acho que ficarei bem.

questionAnswers(3)

yourAnswerToTheQuestion