En demasiadas ocasiones, al hablar de MVC, es habitual traducir “modelo” por “modelo datos”. Supongo que yo mismo lo he confundido a menudo en el pasado. Quizás por pura vagancia. La realidad es creo que no debería ser así y es lo que intento transmitir desde hace unos años ya, aunque la realidad me demuestra que es más difícil de lo que parece. Supongo que “comernos” palabras o los muchos modelos que hay y sus sinónimos, variaciones y perversiones (modelo de la aplicación, modelo de datos, modelo de negocio, o simplemente “modelo”) lo hace más complicado de lo que debería ser .
La M de MVC, y la definición del patrón lo deja claro, debería entenderse como “modelo de negocio”. Es decir, tanto los datos como las acciones que se ejecutan sobre ellos. Es decir, no deberíamos en el controlador, por ejemplo una acción de Struts, realizar estas operaciones (por ejemplo: calcular los costes de envío de un pedido), sino que deberíamos convertir los datos de entrada, etc. para después llamar a la parte del modelo que se encarga de eso. Esta división, que es más o menos la que aparece en la figura, nos permite además aislar las distintas partes favoreciendo la reutilización, las pruebas, los cambios, etc.
Share This
Sacado de una conversación por que acabo de tener, por si alguno le interesa esta idea que se está siguiendo de un nuevo scope.
> Alberto Molpeceres escribió:
> Hola,
> Umm... no, no sé como se hacen los forward en Struts2 (pero la
> solución la has dado tú, es con el forward!), porque nunca he usado
> Struts2.
> Sobre spring.... bueno, no es complicado. Aunque aún no tengo claro
> que es lo mejor desde un punto de vista profesional (Struts2 o
> SpringMVC). Ha habido tanta confusión sobre Struts2, que simplemente
> me plantea dudas.
> On 4/4/07, xxxxx wrote:
> La teoría es esa, con el forward, el problema es que creo que cada vez
> que
> hago el submit en la jsp de marras vuelve a instanciar el Action que
> utilizo
> y donde tengo la colección de TOs que quiero mantener sin tener que volver
> a
> pedirla a Hibernate.
> Bueno, seguiré investigando, gracias de todos modos.
> Alberto Molpeceres escribió:
> Ah!.
> Nope, entonces no te había entendido :-D.
> Pensaba que pasabas el control de una acción a otra en la misma
> petición. Si quieres hacer eso que comentas, tienes que usar la
> sesión, que para eso está. Struts es “famoso” de toda la vida por
> seguir la idea de “one-action-instance-per-request”.
>
> Umm… en serio, yo te recomendaría echarle un ojo al contenedor (y
> sólo al contenedor!) de spring, en esto te iba a ayduar “infinito”.
> On 4/4/07, xxxxx wrote:
> Ok, no quería guardarlo en sesión precisamente para que no se llene de
> datos descontroladamente y así no relentizar la aplicación.
>
> Recuerdo que con Struts 1.x, supongo que al tener los formularios en
> diferentes clases, podía acceder a los datos del formulario cada vez que
> llamaba al mismo action y continuaba ejecutando los forwards. Esto se debe
> haber perdido al fusionar el formulario y el action en Struts 2…
> empezamos
> bien… hehe.
>
> Seguiré tu consejo y me miraré el contenedor de spring.
>
> Alberto Molpeceres escribió:
> Hombre. Ya sabes que existen tres contextos: request, session y
> application, que es dónde se pueden dejar las cosas.
> Últimamente muchos frameworks (seam, myfaces, spring mvc, shale, etc)
> están incporporando un cuarto, llamado “diálogo” o “conversación”.
> Esta pensado para agrupar varias request en un contexto, pero sin
> llegar a ser la sesión. Vamos, por ejemplo, para hacer un wizard de
> tres pantallas. Espero haberme explicado.
> El de Spring se llama Webflow, y aunque no sé decirte que tal va,
> existe una integración para Struts2: http://cwiki.apache.org/S2PLUGINS/spring-webflow-plugin.html
>
> Ya me contarás. Si sale bien espero unas entradas en javaconganas!. Y si no
> sale, también, entradas en JCG!!!!!!.
>
> al.
> On 4/4/07, xxxxx wrote:
>
> Ostras gracias, me miro el plugin enseguida a ver que tal va.
>
Share This
Ultimos comentarios
Darwin, Yomismo, Marcelo, ibon, oscar ordoñez
» Flatee.com o cómo crear un proyecto en internet, ¿Buscas un piso compartido? at Linked, » Trabajando con Linking Paths, ¿Qué queréis saber de Linking Paths? at Linked, alberto, Jose, aitor, Jose, De Linking Paths a la Formula1 at Linked, Dani [...]
plunchete, M@k, el Buscaimposibles
¿Buscas un piso compartido? at Linked
Jesus Chuda Contreras, Angeles, Ger, Pedro, Alfonso, Windzor, javier, xelha
Cerramos el trimeste (2/2008) at Linked, Goio Telletxea, Sergio, el primo, alberto, raultxi