Modelo-Vista-Presentador en WinForms

Estoy tratando de implementar el método MVP por primera vez, usando WinForms.

Estoy tratando de entender la función de cada capa.

En mi programa, tengo un botón GUI que al hacer clic se abre una ventana de registro abierta.

Entonces, utilizando MVP, la GUI maneja el evento de clic del botón y luego llama a presenter.openfile ();

Dentro de presentanter.openfile (), ¿debería delegar la apertura de ese archivo a la capa del modelo, o como no hay datos o lógica para procesar, debería simplemente actuar sobre la solicitud y abrir la ventana de openfiledialog?

Actualizar: He decidido ofrecer una recompensa ya que siento que necesito más ayuda en esto, y preferiblemente adaptada a mis puntos específicos a continuación, para tener contexto.

Bien, después de leer sobre MVP, he decidido implementar la Vista pasiva. Efectivamente tendré un montón de controles en un Winform que será manejado por un Presentador y luego las tareas delegadas a los Modelos. Mis puntos específicos están a continuación:

Cuando se carga el winform, tiene que obtener una vista de árbol. ¿Estoy en lo cierto al pensar que, por lo tanto, la vista debería llamar a un método como: presenter.gettree (), que a su vez delegará al modelo, que obtendrá los datos para la vista de árbol, lo creará y lo configurará, lo devolverá al presentador, que a su vez pasará a la vista que luego simplemente lo asignará a, digamos, un panel?

¿Sería lo mismo para cualquier control de datos en Winform, ya que también tengo una vista de cuadrícula de datos?

Mi aplicación tiene varias clases de modelos con el mismo ensamblaje. También es compatible con una arquitectura de complementos con complementos que deben cargarse al inicio. ¿La vista simplemente llamaría a un método de presentador, que a su vez llamaría a un método que carga los complementos y muestra la información en la vista? Qué nivel controlaría las referencias del complemento. ¿La vista tendría referencias a ellos o al presentador?

¿Estoy en lo cierto al pensar que la vista debería manejar cada cosa sobre la presentación, desde el color del nodo de vista de árbol, hasta el tamaño de la cuadrícula de datos, etc.?

Creo que son mis principales preocupaciones y si entiendo cómo debería ser el flujo para estos, creo que estaré bien.

Respuestas a la pregunta(3)

Su respuesta a la pregunta