Ver Mensaje Individual
  #5 (permalink)  
Antiguo 27/05/2006, 10:45
GreenEyed
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 7 meses
Puntos: 51
Hola,

Si te sirve de algo, de modelo vista controlador (MVC) sólo hay uno. De lo que hay 1 y 2 (y 0) es del modelo de desarrollo de aplicaciones web en Java, que proponia Sun en sus recomendaciones (blueprints).

El modelo 0 era crear directamente la interaz desde servlets
El modelo 1 era llamar a las JSP que utilizaban Beans para acceder a los datos y generar la interfaz
El modelo 2 (mas conocido como MVC) es utilizar un controlador (normalmente un servlet) que decide a que pieza de logica redirigir la peticion (representando el modelo) y que pieza de la parte de presentacion (vista) se encargara de usar los resultados devueltos por la logica para realizar la interfaz.

De todas formas el modelo MVC es realmente un nombre "robado" al ambito de las aplicaciones con interfaz gráfica, donde realmente hay modelo, vista y controlador. En aplicaciones web se adopto el nombre, pero no es del todo exacto.

En cualquier caso, lo bueno del modelo MVC es que se pueden intercambiar las piezas sin afectar demasiado al resto, pudiendo cambiar un controlador por otro, un modelo por otro (EJBs a POJOs + Hibernate, p.e.) o el tipo de generacion de la vista de uno a otro (Freemarker a JSP o a XSLT, p.e.), sin tener que re-escribirlo todo.

Lo de hacer tus programas independientes del entorno web para que puedan funcionar en Swing.... excepto que sea un requerimiento explicito, yo no lo aplico al pie de la letra nunca, si no que uso una arquitectura que se podría adaptar en caso necesario sin excesivo esfuerzo. No digo que no se deba hacer, si no que si no es imprescindible y yo por ejemplo no he llegado a necesitarlo nunca, pues no lo hago. Asi que si no lo tengo previsto me ahorro una capa, con el consiguiente ahorro en tiempo de desarrollo y complejidad.

Aqui puedes ver un ejemplo de modelo MVC que no usa JSPs sino XML, que es otra forma de hacerlo, y comenta brevemente ventajas e inconvenientes de los modelos 0 y 1, aunque no los llame con ese nombre :
http://www.greeneyed.org/guide/stati.../JavaXMLXSL.do

<S>