Archivo de abril de 2007
-
2 comentarios »
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.
-
No hay comentarios »
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.
-
Sobre LinkedLinked es el blog de Linking Paths, la empresa aventurera e innovadora formada por Aitor Garcia, Alberto Molpeceres y Roberto Salicio. En él hablamos de nuestros productos, ideas, y de compañías que nos sirven como guía y ejemplo. Si quieres conocernos un poco mejor puedes revisar lo que hemos escrito en los archivos.
-
Proyectos, ideas, etc.




