Foros del Web » Programación para mayores de 30 ;) » Java »

Modelo Vista Controlador Ayuda!! please

Estas en el tema de Modelo Vista Controlador Ayuda!! please en el foro de Java en Foros del Web. Hola todos , es la segunda vez que escribo un tema y llevo tres semanas en java, les contare que me recibieron como practicante en ...
  #1 (permalink)  
Antiguo 25/05/2006, 08:47
 
Fecha de Ingreso: abril-2006
Ubicación: miraflores
Mensajes: 69
Antigüedad: 18 años
Puntos: 1
Modelo Vista Controlador Ayuda!! please

Hola todos , es la segunda vez que escribo un tema y llevo tres semanas en java, les contare que me recibieron como practicante en una institucion muy reconocida de mi pais, es especificamente un área de desarrollo en java, como se dieron cuenta que soy principiante me encomendaron una chambita :

OJO ---tengo netbeans 5 + JDK-1_5_0_06-windows-i586-p + JRE-1_5_0_06-windows-i586-p

Aqui os detallo :

- Necesito hacer una agenda que me permita ingresar, mostrar, eliminar, modificar ( osea las opreaciones basicas ) datos de mis contactos, en java , pero ( aki viene el detalle ) , usando PRIMERO , el MODELO VISTA CONTROLADOR 1 ( OJO EL 1 ), y luego cuando demuestre que todo funciono bien , hacer lo mismo pero Usando El MODELO VISTA CONTROLADOR 2 .

EL problema es que como veis soy principiante y desconosco esos patrones de desarrollo , kisiera que me expliquen como puedan que significa vista , controlador, modelo , y la diferencia entre ambos modelos ( diferencia entre 1 y 2), la verdad estoy muy preocupado pues no encuentro mucho del tema y no kiero q me saken de esta área por q se que aprendere mucho. si se pudiera observar una aplicacion de ejemplo seria bastante buena .
Tambien me piden que todo corra tanto en linux como en windows pero eso es mi chamba

De antemano mil gracias a todos señores .
__________________
Patrick:policia:
  #2 (permalink)  
Antiguo 25/05/2006, 22:02
Avatar de stock  
Fecha de Ingreso: junio-2004
Ubicación: Monterrey NL
Mensajes: 2.390
Antigüedad: 19 años, 10 meses
Puntos: 53
mmmmmmmmmmm

bueno, yo nunca he trabajado con el modelo 1, pero te puedo explicar el 2....

MVC significa Model View Control, esto significa que tu aplicacion o sistema estara dividido en 3 capas, una es el Modelo, otra es el Control y las Vistas, actualmente existen varios frameworks que trabajan con esta arquitectura, por ejemplo Ruby on Rails (Ruby), Struts(Java), appfuse(Java) y muchos mas........

El chiste de esto es tener dividido el sistema, una de las razones principales es para poder darles un mantenimiento facil, generalmente esta arquitectura es usada en grandes sistemas a nivel empresarial......

Te explico rapido como trabaja appfuse para que te des una idea mejor...

CAPA 1 Model:
Esta capa esta dividida en dos partes, en el DAO (Data Access Object) unicamente trabajas con tu base de datos, usando Hibernate con su HQL

La segunda parte es el SERVICE, en esta subcapa lo que tienes que programar es la logica del negocio, todo lo que tiene que ver con las reglas de tu negocio aqui se programan. Es importante mencionar que a esta capa ya no deben llegar objetos de tipo HTTP, ya sean request, sessiones, etc....

CAPA 2 Control
En esta capa es donde llegan las peticiones de los clientes, se le llama el Action, desde aqui unicamente mandas llamar a tus objetos del service y los ejecutan, ademas deciden hacia donde dirigirte segun las circunstancias...

CAPA 3 Views
En esta capa estan los JSPs, los cuales contienen el HTML que se le enviara al cliente, estos archivos son simples plantillas para desplegar o campturar la informacion enviada por la capa del control.

Bueno, algo muy importante que una vez alguien me dijo y que no olvidare, "Tu sistema debe funcionar fuera de un ambiente web", esto significa que si nuestro sistema ya no lo queremos que sea por el web, unicamente cambiariamos los JSPs por algun programa SWING o la consola(por ejemplo) y el sistema debe seguir funcionando!!

anyway imagino que el modelo 1 debe ser cuando trabajas con EJBs, pero en realidad no se, por que te digo que nunca he hecho nada de eso.....

have funnnnnnnnn
  #3 (permalink)  
Antiguo 26/05/2006, 10:51
 
Fecha de Ingreso: abril-2006
Ubicación: miraflores
Mensajes: 69
Antigüedad: 18 años
Puntos: 1
De acuerdo Gracias

mil gracias ya coprendi bastante sobre mvc !
__________________
Patrick:policia:
  #4 (permalink)  
Antiguo 27/05/2006, 08:25
 
Fecha de Ingreso: mayo-2006
Mensajes: 21
Antigüedad: 18 años
Puntos: 0
Sonrisa Hola

Hola. soy nuevo aki y me latio tu proyecto, tengo uno que acabo de terminar, t dejo el link como muestra, espero q t sirva

geocities.com/pworldj/agenda.zip

  #5 (permalink)  
Antiguo 27/05/2006, 10:45
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 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>
  #6 (permalink)  
Antiguo 29/05/2006, 10:19
 
Fecha de Ingreso: abril-2006
Ubicación: miraflores
Mensajes: 69
Antigüedad: 18 años
Puntos: 1
GreenEyed mil gracias , sabes tengo ahor mas conocimietno sobre MVC sin embargo me gustaría , si noes mucha molestia, que me aclares con una definicion de lo que seria ( segun tu comentario ) , el modelo de arquitectura java 1 ( el numero 1 al que te refieres asi "...modelo 1 llamar a jsps que utilizan beans para acceder a los datos y generar la interfaz....") , porfavor explicamelo detalladamente , mil gracias de antemano
__________________
Patrick:policia:
  #7 (permalink)  
Antiguo 29/05/2006, 13:38
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
En el modelo 1 lo que se hace es declarar Beans (con jsp:useBean) o usar clases "normales" desde las JSP (con import y p'alante) que son las que dentro tienen el código que realiza la logica. Es decir, en la JSP en si no hay nada de acceso a BDD, ni reglas de logica de negocio ni nada de eso, simplemente declara las clases/beans a usar, le llama a unos metodos, que son los que implementan la logica y demas, y luego el código de la JSP simplementa pinta la interfaz en funcion de los resultados de esos métodos.

En la explicacion que te pase, los dos ejemplos que implementan el modelo 1 son "JSP + EJB1.1" y "JSP + Beans + JDBC", que son formas diferentes de hacerlo.

La diferencia con el modelo 2 es que en el 2 la logica no la llama la JSP, si no una clase que lleva el "Control" y luego redirige la peticion a la capa de presentacion (sea JSP y otra cosa).

<S>
  #8 (permalink)  
Antiguo 30/05/2006, 09:11
Avatar de iceman_cml  
Fecha de Ingreso: diciembre-2005
Ubicación: Rosario
Mensajes: 63
Antigüedad: 18 años, 4 meses
Puntos: 0
Te recomiendo un libro : Manning - Struts In Action - 2003 y creo q tiene codigo fuente tambien el libro. Suerte
  #9 (permalink)  
Antiguo 30/05/2006, 11:16
 
Fecha de Ingreso: abril-2006
Ubicación: miraflores
Mensajes: 69
Antigüedad: 18 años
Puntos: 1
bacan

mil gracias a todos por sus respuestas!!!!!!!!
__________________
Patrick:policia:
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:41.