Pregunta

Tenga en cuenta que no estoy preguntando cuál elegir (MVC o MVP), sino si uno de los dos debería usarse para una aplicación web.

Me doy cuenta de que podría ser demasiado trabajo convertir una aplicación anterior de su diseño actual a un patrón MVC o MVP. Sin embargo, ¿qué pasa con una nueva aplicación? Parece que estos son los patrones de arquitectura más populares, así que ¿debería elegirse uno de estos? Si no, ¿qué otros patrones hay?

Si no está familiarizado con MVC y / o MVP, una buena pregunta para revisar es " ¿Qué son MVP y MVC y cuál es la diferencia? " . Tiene muchas buenas respuestas, incluyendo enlaces a varios sitios web que desglosan cada uno.

¿Fue útil?

Solución

MVP / MVC funciona bien en aplicaciones web porque la combinación HTTP verb + URL es una muy buena manera de determinar qué acción tomar. Hay razones para no usarlo, como si su equipo tiene mucha experiencia con otro marco, pero generalmente recomendaría un marco MVP / MVC. Su aplicación se terminará más rápido con mayor calidad.

Otros consejos

Ambas son excelentes opciones.

Iría por MVC ya que tiene una adopción más amplia y es más fácil de entender y usar para los desarrolladores de frontend (HTML / CSS).

Además, dado el número de marcos que adoptan el patrón MVC, los chanches están hablando con sus compañeros de trabajo en MVC, hablará un idioma muy conocido.

He publicado la siguiente respuesta para otra pregunta, aunque puede ser más apropiado aquí .

MVC es bueno para los scripts del lado del servidor. En MVC los desarrolladores siempre intentan mantener el controlador muy magro. Principalmente el controlador es solo para seleccionar el modelo apropiado y reflexionar sobre la vista. Pero en las aplicaciones web de hoy, la parte de Vista ha cambiado radicalmente y se ha vuelto lo suficientemente compleja como para producir un controlador grande, gordo y desordenado. Así que ahora necesitamos un nuevo lugar para colocar la compleja lógica de control de la interfaz de usuario. Aquí aparece la P de MVP que es el presentador. Por lo tanto, los presentadores son responsables de controlar la lógica de un componente de interfaz de usuario en particular. No se preocupe, el controlador todavía está aquí, denominado como Controlador de aplicaciones . Que en última instancia es responsable de cambiar entre componentes de aplicaciones comparativamente más grandes. Entonces MVP también se puede decir MVPC (!!) . Por cierto, esta era mi forma de entender al MVP y, obviamente, no una regla básica.

Por lo tanto, ya tiendo a MVP para aplicaciones web complejas.

Su pregunta fue " debería usar uno de estos patrones de diseño " ;.

Debo decir que eso realmente depende del alcance de su proyecto. En un proyecto muy grande que tiene interdependencias con otros sistemas en una organización grande con un gran presupuesto, diría que definitivamente vale la pena considerarlos.

Creo que estos patrones a menudo se usan en exceso en proyectos más pequeños donde pueden agregar una complejidad y un costo innecesarios.

El punto principal del acoplamiento suelto es que puede cambiar su DB o UI más adelante o reutilizar la lógica empresarial. Muchas veces, esto nunca sucede. Debe darse cuenta de que cualquiera de estos patrones demorará más en implementarse y complicará un poco el código. Por lo tanto, le sugiero que realmente piense en esto y sopese sus opciones. A menudo, puede ofrecer una mejor solución más rápido utilizando una arquitectura muy simple que hace el trabajo y reduce la complejidad.

Depende del marco que estés usando. Solo usa lo que soporta. La mayoría de los frameworks web que he visto usan el patrón del controlador frontal y lo llaman MVC o MVP.

Creo que deberías. Son más difíciles de implementar, especialmente en el mundo de MS porque hicieron todo lo posible para impulsar los formularios web y facilitar la creación de aplicaciones web.
Al usarlos, estás programando de forma directa y sientes que has trabajado mucho. Pero son más lentos y difíciles de mantener después de que su sitio crezca.
El uso de MVC y MVP le permite separar el modelo (clases básicas que representan el dominio con el que está trabajando), el controlador y las vistas. Lo mejor de esto es que puede reutilizar su modelo en otras aplicaciones como aplicaciones móviles o aplicaciones de Windows. Luego tienen más en común que solo una base de datos, por lo que tiene que escribir menos código. Solo tienes que escribir controladores y vistas.
Soy nuevo en esto, pero veo beneficios porque cuando tuve que cambiar algo en un lugar, algo más se estrelló en otro lugar (por lo que también hay que afiliarse y escribir pruebas unitarias). Escribir pruebas es imposible en formularios web.

Sin embargo, si está creando una aplicación para representar a una persona o una empresa, donde no hay una lógica de negocios en la web, y tiene que hacerlo rápido, los formularios web son buenos para ella. Y también para la creación de prototipos para que pueda mostrar qué aplicación podrá hacer cuando termine.

Me gustan ambos patrones. Mi mejor práctica es elegir un patrón, que siempre es mejor que NINGÚN patrón.

He desarrollado muchas aplicaciones en ambos patrones, mi opinión personal es que cuando eres un desarrollador de RAD y no eres tan bueno con CSS & amp; javascript (en su mayoría desarrolladores de formularios de win que desean crear una aplicación web, sin ofensas ;-)) Debería usar el patrón MVP porque es muy fácil de usar con los Proyectos de aplicaciones web.

Pero cuando conoces un montón de CSS & amp; javascript entonces debes considerar el patrón MVC de ASP.NET.

Preferiría el patrón MVC, solo porque el acoplamiento está suelto. Existe una clara separación entre el modelo, la vista y el controlador y, a través del aislamiento, es más adecuado para el desarrollo dirigido por pruebas o solo para pruebas unitarias.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top