¿Cómo incorpora mvc el marco ssm?
Model-View-Controller (MVC) es un patrón de diseño de software inventado por Xerox PARC en la década de 1980 para el lenguaje de programación Smalltalk-80 y se ha utilizado ampliamente desde entonces. En los últimos años, se ha recomendado como patrón de diseño para la plataforma J2EE de Sun y se ha vuelto cada vez más popular entre los desarrolladores que utilizan ColdFusion y PHP. El patrón Modelo-Vista-Controlador es un conjunto de herramientas útil que tiene muchas ventajas, pero también algunas desventajas.
Cómo funciona MVC
MVC es un patrón de diseño que impone la separación de la entrada, el procesamiento y la salida de una aplicación. Las aplicaciones que utilizan MVC se dividen en tres componentes principales: modelo, vista y controlador. Cada uno maneja sus propias tareas.
Ver
Una vista es la interfaz que los usuarios ven y con la que interactúan. Para aplicaciones web más antiguas, una vista era una interfaz compuesta por elementos HTML. En las aplicaciones web más nuevas, HTML todavía juega un papel importante en las vistas, pero han surgido tecnologías más nuevas, incluidas Macromedia Flash y lenguajes de marcado como XHTML, XML/XSL, WML y servicios web.
Cada vez es más difícil lidiar con la interfaz de su aplicación, y una de las grandes ventajas de MVC es que le permite manejar muchas vistas diferentes para su aplicación. Ya sea que los datos se almacenen en línea o en una lista de empleados, no hay ningún procesamiento real en la vista; como vista, es solo una forma de exportar los datos y permitir que el usuario los manipule.
Modelos
Los modelos representan datos empresariales y reglas de negocio. De los tres componentes de MVC, el modelo es el que realiza la mayor parte del procesamiento. Por ejemplo, puede utilizar objetos componentes como componentes EJB y ColdFusion para trabajar con bases de datos. Los datos devueltos por el modelo son neutrales, es decir, el modelo es independiente del formato de datos, por lo que un modelo puede proporcionar datos para múltiples vistas. La duplicación de código se reduce porque el código aplicado al modelo se escribe solo una vez y puede ser reutilizado por múltiples vistas.
Controlador
El controlador recibe la entrada del usuario y llama modelos y vistas para satisfacer las necesidades del usuario. Por lo tanto, al hacer clic en un hipervínculo en una página web y enviar un formulario HTML, el controlador no genera nada ni realiza ningún procesamiento. Simplemente recibe la solicitud y decide qué artefacto del modelo llamar para manejar la solicitud, y luego decide qué vista usar para mostrar los datos devueltos por el procesamiento del modelo.
Para resumir el proceso MVC, el controlador primero recibe la solicitud del usuario y decide qué modelo llamar para manejar la solicitud, luego el modelo usa lógica de negocios para procesar la solicitud del usuario y devuelve los datos, y finalmente el El controlador utiliza la vista adecuada para formatear los datos de retorno del modelo y presentarlos al usuario a través de la capa de presentación.
Por qué usar MVC
La mayoría de las aplicaciones web se crean utilizando un lenguaje procedimental como ASP, PHP o CFML. Son una combinación de código a nivel de datos (como consultas de bases de datos) y código a nivel de presentación (como HTML). Los desarrolladores más experimentados separarán las capas de datos y de presentación, pero esto a menudo no es fácil de hacer y requiere una planificación cuidadosa y prueba y error. Si bien la creación de aplicaciones MVC requiere algo de trabajo adicional, los beneficios son innegables.
En primer lugar, se pueden disfrutar múltiples vistas de un modelo, y como comentaba, cada vez hay más formas de acceder a la aplicación. Una forma de resolver este problema es utilizar MVC, ya sea que el usuario necesite una interfaz Flash o una interfaz WAP, un modelo puede manejarlos todos.
Dado que ha separado los datos y las reglas comerciales de la capa de presentación, puede maximizar la reutilización de su código.
Debido a que los datos devueltos por el modelo no están formateados, diferentes interfaces pueden usar el mismo artefacto. Por ejemplo, muchos datos se pueden representar en HTML, pero también en Macromedia Flash y WAP. El modelo también incluye gestión de estado y persistencia de datos, por lo que los carritos de compras basados en sesiones y los procesos de comercio electrónico también pueden ser reutilizados por sitios web Flash o aplicaciones web inalámbricas.
Debido a que el modelo es independiente y está separado del controlador y la vista, es muy fácil cambiar la capa de datos y las reglas comerciales de la aplicación. Si desea migrar una base de datos de MySQL a Oracle, o cambiar una fuente de datos basada en RDBMS a LDAP, simplemente cambie el modelo. Una vez que el modelo se implementa correctamente, las vistas se muestran correctamente independientemente de si los datos provienen de una base de datos o de un servidor LDAP. Dado que los tres componentes de una aplicación que utiliza MVC son antagónicos, cambiar uno de los componentes no afectará a los otros dos, por lo que puede construir buenos componentes débilmente acoplados basados en esta idea de diseño.
Para mí, los controladores también brindan el beneficio de poder usarlos para conectar diferentes modelos y vistas para satisfacer las necesidades del usuario, lo que proporciona una forma poderosa de estructurar los medios de la aplicación. El controlador puede seleccionar el modelo a procesar según las necesidades del usuario y luego seleccionar la vista para mostrar los resultados al usuario.
Desventajas de MVC
La desventaja de MVC es que no es fácil entender completamente MVC porque la definición de MVC no es clara. El uso de MVC requiere una planificación cuidadosa y, debido a su compleja estructura interna, algo de tiempo para pensar.
Tendrá que dedicar mucho tiempo a pensar en cómo aplicar MVC a su aplicación y, dado que el modelo y la vista están estrictamente separados, esto dificultará la depuración de su aplicación. Cada componente debe probarse minuciosamente antes de su uso. Una vez que sus componentes hayan sido probados, podrá reutilizarlos sin preocupaciones.
Desde mi experiencia personal, está claro que usar MVC también significa que necesitas administrar más archivos que antes, ya que dividimos la aplicación en tres componentes. Esto puede parecernos más trabajo, pero recuerda, no es nada comparado con los beneficios que aporta.
MVC no es adecuado para aplicaciones pequeñas o incluso medianas, y dedicar mucho tiempo a aplicar MVC a aplicaciones que no son muy grandes normalmente no compensa.
MVC es una buena forma de crear software
El patrón de diseño MVC es una buena forma de crear software y algunos de los principios que defiende (como separar el contenido y la visualización de cada uno) otros) Podría ser más fácil de entender. Sin embargo, si desea aislar los artefactos del modelo, la vista y el controlador, es posible que deba repensar su aplicación, especialmente su arquitectura. Si está dispuesto a adoptar MVC y afrontar el trabajo adicional y la complejidad que conlleva, MVC le dará a su software un nuevo nivel de solidez, reutilización de código y estructura.