vista ventajas reglas refiere que programacion patrón negocio mvc modelo las implementar estructura encargado desventajas controlador consiste componente capas arquitectura java model-view-controller

java - reglas - modelo vista controlador ventajas y desventajas



¿Cuál es la diferencia real entre MVC y MVC Model2? (2)

solo quiero saber cuál es la diferencia real entre MVC y MVC Model2 en el desarrollo


Para ilustrar las respuestas anteriores (y agregar una explicación de este artículo ):

MVC2 es un abuso de lenguaje que se refiere en realidad a la arquitectura JSP Modelo 2, a diferencia del Modelo 1 de JSP:

La primera tecnología Java para el desarrollo web del lado del servidor fue el servlet .
Escribir aplicaciones con servlets fue muy similar a escribir aplicaciones CGI en Perl, ya que todo el resultado se debía compilar como cadenas dentro del código Java .
Esto fue muy tedioso y propenso a errores. También dificultó que los diseñadores web sin experiencia en Java pudieran alterar el aspecto de las páginas generadas por los servlets.

texto alternativo http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL1_sml.gif

Luego vino JSP . Las JSP, al igual que las ASP de Microsoft y, al igual que el popular lenguaje de scripting PHP, tratan todo como texto de plantilla, pero permiten la inserción de código Java en etiquetas llamadas scriptlets y expresiones JSP .
Esto permitió a las personas trabajar en aplicaciones del lado del servidor tal como lo harían con los otros lenguajes de scripting populares, pero tenía un par de inconvenientes.

  • No hubo separación de preocupaciones.
  • Una secuencia de comandos mantendría el código de la base de datos, la lógica de negocios, el marcado HTML y cualquier código de JavaScript necesario para la representación de la página final.
  • La reutilización del código fue difícil, al igual que las pruebas automáticas.

Esto se conoce como programación JSP "Modelo 1".

MVC o el patrón Model View Controller era una técnica común para separar las diversas preocupaciones en el código GUI inventado por Trygve Reenskaug, trabajando en Smalltalk para Zerox.

En algún momento quedó claro que esta técnica podría adaptarse a las aplicaciones Java EE para lograr el mismo nivel de separación.
Hacerlo implica escribir la capa del Modelo como Beans o Plain Old Java Objects (POJO), usar servlets como el Controlador, y luego, cuando todo el trabajo pesado esté terminado, reenviar a un JSP para formatear y marcar los resultados.
Las aplicaciones Servlet / JSP escritas usando y la arquitectura MVC se conocen como programación JSP Modelo 2.

texto alternativo http://www.javaworld.com/javaworld/jw-12-1999/images/MODEL2_sml.gif

Debido a que este patrón existía en una forma diferente antes de ser utilizado en aplicaciones servlet / JSP, a veces se lo denominaba "MVC2". Este nombre generó cierta confusión ya que implicaba que hay un MVC1 para aplicaciones de servlets, que no es así.
Basta decir MVC.


Una nota histórica divertida sobre los términos ...

[Desearía poder encontrar el periódico ... (¡Solo traté de buscar en Google pero no tuve suerte!)]

Hace un tiempo, alguien escribió un documento que describe dos enfoques de MVC para aplicaciones web. En ella, tenía dos figuras.

Los subtítulos fueron "modelo 1" y "modelo 2".

No estaban destinados a ser nombres reales de patrones (más como "figura 1" y "figura 2"), pero alguien lo leyó y escribió sobre él como si fuera un nombre de patrón ...

(¿Alguien tiene la referencia?)

VonC describe la diferencia bastante bien