Si hay algún problema en el desarrollo de software, entonces su patrón de diseño es la solución principal para solucionarlo. Son como planos predefinidos que utilizamos para resolver problemas de diseño orientados a objetos en su proyecto. En primer lugar, descubre dónde está el problema y luego lo soluciona y también describe el procedimiento y sus consecuencias. MVC y MVC2 son dos enfoques diferentes para el famoso patrón de arquitectura MVC ( Model View Controller ).
MVC vs MVC2
La principal diferencia entre MVC y MVC2 es que MVC es un modelo de diseño de aplicación compuesto por tres partes interconectadas, mientras que MVC2 es un patrón más complejo donde el desacoplamiento de la aplicación La lógica de control de estado y presentación está hecha. MVC incluye el modelo ( datos ), la vista ( interfaz de usuario ) y la solicitud de procesos del controlador ( ) . Una diferencia importante entre MVC y MVC2 es la complejidad. En aplicaciones web del mundo Java, los dos modelos de diseño comunes ( Modelo 1 y Modelo 2 ) están estrechamente relacionados con MVC y a menudo se denominan erróneamente MVC1 ( o simplemente MVC ) y MVC2.
MVC fue el enfoque de primera generación en aplicaciones web Java donde se usaron páginas JavaServer Page ( JSP ) para la interfaz de usuario junto con JavaBeans que podrían encapsular los múltiples objetos en un objeto único para implementar la arquitectura MVC. Las solicitudes de usuario del navegador se envían a JSP, que contiene la lógica del controlador y vincula el modelo para los datos que actualizarían la vista y enviarían la respuesta al usuario que obtiene mostrado en la interfaz de usuario. Este enfoque combina la funcionalidad Controlador y Vista dentro de una página JSP y, por lo tanto, rompe el paradigma MVC.
MVC2 fue introducido por Sun Microsystem org como un patrón de diseño que no rompe el paradigma MVC, a diferencia de MVC, donde la lógica empresarial se separó de las vistas y todas las solicitudes de los clientes se manejaron en un solo lugar en lugar de en cada archivo JSP en MVC. En el patrón MVC2, JSP se reemplaza por servlets para la lógica del controlador.
Tabla de comparación entre MVC y MVC2
Parámetro de comparación MVC
¿Qué es MVC?
MVC es un patrón de diseño arquitectónico para problemas recurrentes de diseño de software que proporciona un enfoque de descripción de alto nivel para la solución. La arquitectura MVC tiene tres módulos: modelo, vista y controlador.
Modelo: Representa el estado de los datos ( que se muestra al usuario en la página de vista ).
Ver: El módulo de vista es la interfaz de usuario a través de la cual el usuario realiza la acción y se comunica internamente con el servidor.
Controlador: El módulo controlador procesa la solicitud del usuario, la lógica empresarial y con la ayuda de un modelo manipula los datos que se muestran en la interfaz de usuario.
MVC comienza con JSP aceptando la solicitud del cliente que trabaja junto con JavaBeans para la lógica de procesamiento de datos que se envía al cliente. El trabajo se divide entre JavaBeans y JSP, donde JSP invoca los JavaBeans y la lógica empresarial en la que JavaBeans llama internamente a la base de datos para guardar / obtener los datos. Al final, JSP devuelve la respuesta al cliente que actualiza la vista en el navegador.
JavaBeans, que también se conocen como Beans, es responsable de la encapsulación de múltiples objetos en un solo objeto, mientras que el JSP tiene la lógica Controller y View. MVC también se conoce como centrado en la página debido a su acceso directo a otra página de vista que es ideal para aplicaciones más pequeñas.
¿Qué es MVC2?
La mayoría de los ingenieros de software piensan que MVC2 es una versión mejorada de MVC, como la versión 2.0; no lo es. El Modelo 1 y el Modelo 2 se desarrollaron simultáneamente y son dos variantes de cómo se deben hacer las cosas.
MVC2 es un patrón más complejo donde se realiza el desacoplamiento del estado de la aplicación y la lógica de control de presentación. Tiene un controlador en el que se ha escrito la lógica para procesar todas las solicitudes entrantes y las acciones requeridas que deben tomarse, como navegación a una página de vista diferente o actualización del estado del Modelo.
Aquí, en MVC2, el servlet actúa como la capa controladora, que también es una interfaz entre la capa Ver y la capa Modelo en la que recibe la solicitud del cliente o la interfaz de usuario, que no es más que una capa de vista, y los procesa con la validación adecuada si es necesario. JSP tiene una lógica de vista que utiliza internamente los frijoles, por lo que si los servlets actualizan el estado del modelo, se refleja en la página de vista.
A diferencia de MVC, JSP en MVC2 no tiene controladores ni lógica de vista; su única responsabilidad es recuperar el estado actualizado del modelo de ese servlet para mostrar en la página de vista.
Diferencias principales entre MVC y MVC2
A menudo confundimos MVC2 como la versión 2.0 de MVC, sin embargo, no lo son, son los modelos de diseño Java donde la arquitectura MVC2 es más compleja y más adecuada para las aplicaciones más grandes.
El factor distintivo entre MVC y las relaciones MVC2 se puede resumir por los siguientes motivos:
- En MVC, un solo componente es responsable de recibir solicitudes y enviar respuestas, pero en MVC2, hay múltiples componentes para recibir solicitudes y enviar respuestas. es decir. Controlador y amplificador; Ver.
- MVC1 combina estrechamente la lógica de presentación con la lógica de negocios, pero MVC 2 aísla o desacopla la lógica de presentación de la lógica de negocios.
- En MVC La lógica de negocios y la presentación La lógica se combina en JSP, por lo tanto, los diseñadores web y los desarrolladores web no pueden trabajar simultáneamente, pero en MVC2 hay una separación entre la lógica y la vista, por eso el diseñador y el desarrollador pueden trabajar juntos.
- En MVC 1, controlador y modelo, ambos son JSP o podríamos decir escritos en el mismo JSP. Pero en MVC2 el controlador es servlet y el modelo es de clase Java.
- MVC No admite la reutilización de componentes de aplicación, mientras que MVC2 admite la reutilización de componentes que son buenos para aplicaciones más grandes y complejas.
Síntesis
Como vimos la gran diferencia de línea entre MVC y MVC2 a pesar de tener nombres similares, ambos se utilizan como soluciones para problemas recurrentes de diseño del sistema.
MVC2 es más complejo y tiene una separación de preocupaciones que se utiliza para aplicaciones más grandes o experiencia de usuario intuitiva debido a su característica centralizada donde todas las solicitudes son manejadas por un controlador. A diferencia del MVC donde el JSP actual es el que determina la siguiente página de vista para abrir.
MVC2 desacopla las páginas de vista de los controladores, a diferencia del MVC que mantiene la lógica comercial y de visión acoplada en un JSP. Por lo tanto, el MVC2 es más fácil de mantener para múltiples usuarios debido a su reutilización y función de extensión y es capaz de admitir un sistema más complicado en tiempo real, como Facebook, Instagram.
- https://www.scientific.net/AMM.198-199.537
- https://ieeexplore.ieee.org/abstract/document/777091/
- https://academic.oup.com/jpp/article-abstract/64/3/397/6135294
Contenido
Way cool! Some very valid points! I appreciate you
writing this write-up and also the rest of the website is really good.
Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.