He leído en línea sobre MVC, patrones MVP para el diseño de la interfaz de usuario. Pero, no logro comprender cómo funciona, incluso después de volver a leerlo un par de veces. Uso C#/winforms para el desarrollo. ¿Alguien puede indicarme un buen libro/blog/sitio web? Algo que me hará decidir si debería adoptarlo o no. Gracias.usando patrones MVC MVP en winforms
Respuesta
De hecho, creo que Wikipedia's page on MVC tiene una muy buena visión general de la arquitectura de Model View Controller.
Puede hacer MVC con Windows Forms y C#, pero es más difícil que con otras plataformas. MVC tiene que ver con la separación de preocupaciones, y debe poder usarse con cualquier plataforma. Sin embargo, ciertas plataformas hacen esto mucho más fácil que otros.
El "truco" para hacer que esto funcione bien en una aplicación de Windows Forms es asegurarse de tener una clara separación de preocupaciones en la forma de diseñar sus formularios. Trate de mantener cierta separación entre el manejo del evento (controlador), el diseño y el diseño del formulario (vista) y la lógica y el diseño de negocios (modelo). El diseño básico de las formas de Windows no lo fuerza explícitamente ni lo guía a tener esta separación, por lo que dependerá de usted mantener esas cosas separadas.
El más complicado de los formularios de Windows es evitar que la vista y el controlador se vuelvan demasiado interdependientes. El diseñador de WinForm, naturalmente, pone todo el manejo del evento en la misma clase que el formulario, por lo que es fácil unir las dos cosas. Tendrás que mantener esa separación en tu lugar, si quieres seguir los patrones arquitectónicos de la clase MVC.
Echa un vistazo a these videos en PolymorphicPodcast. Hace un buen trabajo al describir los patrones MV * y da ejemplos sólidos de cada uno. Específicamente, mira el winforms video.
+1 para el podcast. Creo que al verlos fue cuando el diseño realmente me hizo clic. –
¿Qué tal this SO post. Esto tiene una buena descripción de eso.
Comience leyendo Martin Fowler's comparative article on different GUI Architectures. Cubre MVC (como se solía llamar a MVP) y mucha otra información útil que debería ayudar a enmarcar los conceptos por usted.
Acabo de escribir una entrada de blog sobre el uso del patrón de MVP Passive View.
http://coding.infoconex.com/post/(MVP)-Model-View-Presenter-Passive-View.aspx
Buscando retroalimentación si tengo nada malo.
- 1. MVP en Winforms
- 2. Marco MVC/MVP para aplicaciones .NET WinForms
- 3. ¿Cómo estructurar un proyecto en Winforms usando el patrón MVP?
- 4. ¿Cómo se navega entre vistas en MVP usando C# WinForms?
- 5. MVP, Winforms - EventHandlers o Delegados
- 6. validaciones en MVC/MVP
- 7. Comunicación intercontrolador en MVC/MVP
- 8. Aclaración: MVC, MVP, MVVM
- 9. Critique mi aplicación MVP Winforms simple
- 10. Mejores prácticas para llamadas asincrónicas en MVP con WinForms
- 11. ASP.NET MVP vs ASP.NET MVC
- 12. MVP de Winforms con múltiples vistas y un presentador
- 13. ¿Puede MVC (o MVP) coexistir con SOA?
- 14. ¿Qué es el modelo en los patrones de diseño de la interfaz de usuario como MVC, MVP, MVVM?
- 15. Beneficios de la MVC más de MVP
- 16. ¿Qué usar? MVC, MVP o MVVM o ...?
- 17. en MVC/MVP/MVPC ¿dónde ubicas tu lógica comercial?
- 18. ¿Cuál es su marco MVP MVP favorito?
- 19. ¿Por qué no se ven los patrones de MVP y MVVM en Ruby, Python o PHP?
- 20. ¿El controlador de supervisión MVC y MVP es el mismo?
- 21. ¿Existe un buen marco MVVM/MVP/MVC para JavaFX?
- 22. ¿Cuáles son las diferencias entre MVC, MVP y MVVM?
- 23. Informar al usuario final de las excepciones en Winforms-MVP y WPF-MVVM
- 24. Mejorar MVP en Scala
- 25. MVP y granularidad de presentador
- 26. ¿Cuál es la diferencia entre los patrones de diseño y los patrones arquitectónicos?
- 27. Usando un control WPF personalizado en WinForms
- 28. MVP dependency injection
- 29. MVP (Presentador de vista de modelo) o MVC (Controlador de vista de modelo)
- 30. PubSub/patrones ligeramente acoplados y MVC en Javascript
Únete al club :-). Puede ser un poco confuso ... –
También estoy muy interesado en este tema. Puedo ver las ventajas si necesita que la aplicación se ejecute en diferentes entornos, pero no veo la ventaja de lo contrario. – smack0007