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

duda Modelo-Vista-Controlar

Estas en el tema de duda Modelo-Vista-Controlar en el foro de Programación General en Foros del Web. hola!mi duda es que no se si mi sistema está dentro del patron MVC. mi codigo es mostrado en html,(seria la vista),el modelo seria los ...

  #1 (permalink)  
Antiguo 11/06/2010, 10:47
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
duda Modelo-Vista-Controlar

hola!mi duda es que no se si mi sistema está dentro del patron MVC.
mi codigo es mostrado en html,(seria la vista),el modelo seria los ficheros con los que accedo a la BD(borrar_usuario.php, crear_usuario.php),y quien es mi controlador???el codigo javascript?ello es lo que me reconoce las entradas
gracias
  #2 (permalink)  
Antiguo 11/06/2010, 11:17
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Tema movido desde PHP orientado a objetos a Ingeniería del software y Gestión de proyectos
  #3 (permalink)  
Antiguo 11/06/2010, 13:58
Avatar de cptanalatriste  
Fecha de Ingreso: octubre-2008
Ubicación: Lima, Perú
Mensajes: 118
Antigüedad: 15 años, 6 meses
Puntos: 2
Respuesta: duda Modelo-Vista-Controlar

Hola Laura!

No soy un programador PHP, pero el patrón MVC en Java lo conocemos bastante bien.

Según este modelo, debe haber una separación clara entra la data, la lógica de negocio de manipula la data y presentación de la data al usuario. Entonces, los componentes de vista envían las peticiones de los usuarios a un controlador central, quien es el que invoca a los componentes de lógica de negocio. Después de esto, es el controlador el que muestra la vista de respuesta a la petición del usuario.

En Java tenemos componentes bastante definidos para el Modelo (JavaBeans y Data), Vista (páginas JSP) y Controlador (Servlets). Si es que en PHP -y en tu aplicación- tienes componentes separados que se encargan de esas funciones entonces estás implementando MVC. Caso contrario, tal vez estás siguiendo otro modelo.

Espero sea de ayuda,
__________________
Carlos G. Gavidia
Sun Certified Professional
IBM Certified Solution Designer
http://certified-es.blogspot.com/
  #4 (permalink)  
Antiguo 11/06/2010, 14:45
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

ummm...quiza este implementando otro....
para la vista html
para modelo tengo archivos php
y luego el que controla es un archivo javascript,q hace las llamadas a los archivos php mediante ajax...ami me parece que el controlador,es el archivo javascript,xo nose si estaria bien...
gracias
  #5 (permalink)  
Antiguo 12/06/2010, 00:03
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Hola, creo que estas en un error conceptual, cuando hablas del controlador te estas refieriendo al componente del patron arquitectonico MVC controlador, para nada es un archivo javascript ni nada por el estilo, en el caso de PHP perfectamente las vistas pueden ser archivos PHP, lo que sucede que lo que le presentas al usuario es codigo HTML, estas vistas son las encargadas de enviar peticiones a los controladores, estos ultimos se comunican con los modelos que son los encargados de hacer la parte "sucia" de este proceso mediante la manipulacion de la logica de tu negocio y tambien los datos de tu base de datos, el controlador se comunica finalmente con la vista para devolver resultados. Suerte y googlea que encontraras bastante!!
__________________
La ciencia es la estética de la inteligencia.
  #6 (permalink)  
Antiguo 12/06/2010, 02:49
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

si,mi duda es porque nose quien será el controlador en mi caso, los unicos archivos php que tegngo son para acceder a la BD, y lo demas en javascript que pinta html de un modo u otro segun la entrada del usuario....quien seria mi controlador???
o está mejor implementado por capas?
  #7 (permalink)  
Antiguo 12/06/2010, 09:11
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Hola nuevamente laurita23, por lo que veo claramente no estas implementando el MVC, ante todo debes saber que este patron hereda de la arquitectura de n capas para ser mas especifico 3 capas, desde el punto de vista tecnico, los controladores se encargan de gestionar peticiones, interactuar con los modelos y enviar respuestas a la vista pero solo eso. Tus archivos javascript te brindan la posibilidad de interactuar con el usuario pero no desde el servidor sino desde el cliente, la palabra CONTROLADOR desde el punto de vista MVC no quiere decir que se controle la entrada de usuarios ni nada de eso, solo lo que te explicaba anteriormente,cualquier duda me dices, Saludos!!!
__________________
La ciencia es la estética de la inteligencia.
  #8 (permalink)  
Antiguo 12/06/2010, 09:44
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

bien,gracias por contestar
stoy viendo que estoy muy perdida.........
puede ser entonces el controlador de MVC un archivo javascript?

te cuento mi problema,yo en realidad tengo un archivo html en blanco,y es el javascript el que contnumamente va cambiando el html de un modo u otro,mostrando unas cosas u tras.
quien es mi vista, el html?controlador el javascript?y l modelo los php con los que accedo a BD?
gracias de nuevo...
  #9 (permalink)  
Antiguo 12/06/2010, 09:58
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Para nada un archivo javascript puede ser un controlador, si es asi, tienes un error. Suerte!!!
__________________
La ciencia es la estética de la inteligencia.
  #10 (permalink)  
Antiguo 12/06/2010, 10:07
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

entonces en que patron estoy¿¿¿capas???
  #11 (permalink)  
Antiguo 12/06/2010, 10:11
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

[QUOTE=blesther;3440806]Para nada un archivo javascript puede ser un controlador, si es asi, tienes un error. Suerte!!![/QUOTE

gracias por ayudarme, e estoy desesperando...
  #12 (permalink)  
Antiguo 12/06/2010, 10:30
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

No Laurita, para mí no estás implementando ningún patrón. Tal vez estés confundida y no me has explicado correctamente lo que tienes en tu código, pero por lo que me has dicho pienso que no.
__________________
La ciencia es la estética de la inteligencia.
  #13 (permalink)  
Antiguo 12/06/2010, 10:32
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

bueno,en realidad es un proyecto que estoy haciendo,y al describir la aruitectura siempre usaba o capas o MVC, entonces al describir la arquitetura de mi aplicacion me veo q no me encaja...pero tengo que encajarla en algo,me entiendes?

como ya te he dicho,todo lo hace jaascript,que va rellenando el html una y otra vez segun las acciones del usuario, que patron puede ser esto?
  #14 (permalink)  
Antiguo 12/06/2010, 10:38
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Mira, un patrón, en específico uno de diseño son la base para la búsqueda de soluciones a problemas comunes en el desarrollo de software y otros ámbitos referentes al diseño de interacción o interfaces. Desde mi punto de vista no conozco que una implementación de MVC tenga en cuenta a los controladores como los archivos javascript. Lee lo que te presento a continuación que está muy interesante y tal vez responda tus dudas:

Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo que sigue el control generalmente es el siguiente:

1. El usuario interactúa con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botón, enlace)
2. El controlador recibe (por parte de los objetos de la interfaz-vista) la notificación de la acción solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a través de un gestor de eventos (handler) o callback.
3. El controlador accede al modelo, actualizándolo, posiblemente modificándolo de forma adecuada a la acción solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos están a menudo estructurados usando un patrón de comando que encapsula las acciones y simplifica su extensión.
4. El controlador delega a los objetos de la vista la tarea de desplegar la interfaz de usuario. La vista obtiene sus datos del modelo para generar la interfaz apropiada para el usuario donde se refleja los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra). El modelo no debe tener conocimiento directo sobre la vista. Sin embargo, el patrón de observador puede ser utilizado para proveer cierta indirección entre el modelo y la vista, permitiendo al modelo notificar a los interesados de cualquier cambio. Un objeto vista puede registrarse con el modelo y esperar a los cambios, pero aun así el modelo en sí mismo sigue sin saber nada de la vista. El controlador no pasa objetos de dominio (el modelo) a la vista aunque puede dar la orden a la vista para que se actualice. Nota: En algunas implementaciones la vista no tiene acceso directo al modelo, dejando que el controlador envíe los datos del modelo a la vista.
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.


Suerte!!!
__________________
La ciencia es la estética de la inteligencia.
  #15 (permalink)  
Antiguo 12/06/2010, 10:41
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

es que segun lo leo,que llevo dias dandolo vueltas,me parece que mi codigo javascript es el controlador...pero si no puede ser...pues no tengo mas archivos que puedan hacer de controlador...entontonces tendre que implementaar otro patron no?
  #16 (permalink)  
Antiguo 12/06/2010, 10:48
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Es que no estás implemnetando ningún patrón. Tú misma lo vas a responder:

Tus archivos javascript procesan las peticiones de los usuarios?
Tus archivos javascript modifican el estado de las clases de tu modelo?
Tus archivos javascript devuelven resultados a las vistas para mostrar resultados de los modelos?

Seguramente responderás que no en todos los casos. Piensa y medita en este sentido.
__________________
La ciencia es la estética de la inteligencia.
  #17 (permalink)  
Antiguo 12/06/2010, 10:49
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

y si he respondido que si en todos los casos?uffff...que perdida estoy
  #18 (permalink)  
Antiguo 12/06/2010, 10:52
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Bueno entonces tendría que ver tu código pues hasta yo estoy interesado.
__________________
La ciencia es la estética de la inteligencia.
  #19 (permalink)  
Antiguo 12/06/2010, 10:54
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

empieza de la siguiente manera:con el evento nload, carga una pagina inicial que va generando mediante javascript, si el usuario hace click por ejemplo en un boton que ahora forma parte del html, lo procesa el javascript y hace cambios en la base de datos,para despues volver a actualizar el html

aasi trabaja mi codigo...
  #20 (permalink)  
Antiguo 12/06/2010, 10:59
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Bueno tu codigo en realidad esta haciendo una implementacion MVC sin controlador, conectando directamente la vista con el modelo (algo que no te recomiendo) pues esto solamente se usa cuando el workflow es algo complejo, no está mal que hagas ese tipo de conexiones pero solo en casos especificos. Conoces algun framework de PHP? Te pueden ayudar muchisimo en esto, aunque claro, si estas aprendiendo es mejor que sigas asi por el momento. Suerte!!!
__________________
La ciencia es la estética de la inteligencia.
  #21 (permalink)  
Antiguo 12/06/2010, 11:02
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

la implementacion no me gustaria cambiarla...lo unico que en la memoria del proyecto tengo que describir la arquitectura y es ahi donde nose que poner.....podria poner capas,pero solo 2??omitiendo el controlador?
  #22 (permalink)  
Antiguo 12/06/2010, 11:05
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Un papel aguanta todo, pero en diseño de software Web no está correcto laurita.
__________________
La ciencia es la estética de la inteligencia.
  #23 (permalink)  
Antiguo 12/06/2010, 11:08
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

es que creo que no tengo tiempo para cambiar todo el codigo....pr lo tanto solo me queda dejarlo asi y buscar un patron que se ajuste
se que no es reutilizable...pero no tengo tiempo de hacer grandes cambios
muchas gracias por contestarm!
que me dices a arquitectura en dos capas?
  #24 (permalink)  
Antiguo 12/06/2010, 11:12
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Solo he escuchado 2 capas cuando se refieren a la arquitectura cliente - servidor pero para nada se acomoda con lo que estas haciendo. Si quieres documentar tu software auqneu tu codigo no se corresponda hazlo con 3 capas.
__________________
La ciencia es la estética de la inteligencia.
  #25 (permalink)  
Antiguo 12/06/2010, 11:13
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

y no podria ser dos capas,en la que la primera es presentacion y logica de negocio,y la segunda,acceso a datos?
  #26 (permalink)  
Antiguo 12/06/2010, 11:17
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Pienso que no, la idea de las capas es separar en diferentes funcinalidades tu proyecto, si una capa hace la funcion de 2, no estas utilizando bien lo que seguramente te han enseñado.
__________________
La ciencia es la estética de la inteligencia.
  #27 (permalink)  
Antiguo 12/06/2010, 11:18
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

y mas patrones,aparte de MVC o capas? alguno que pueda acoplar?
  #28 (permalink)  
Antiguo 12/06/2010, 11:31
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

Se me ocurre el Modelo Vista Presentador pero no te sirve tampoco.
__________________
La ciencia es la estética de la inteligencia.
  #29 (permalink)  
Antiguo 12/06/2010, 11:34
 
Fecha de Ingreso: noviembre-2009
Mensajes: 59
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

suena bien,ahora me informo sobre ello
porque no me sirve?
  #30 (permalink)  
Antiguo 12/06/2010, 11:38
Avatar de blesther  
Fecha de Ingreso: abril-2008
Mensajes: 141
Antigüedad: 16 años
Puntos: 0
Respuesta: duda Modelo-Vista-Controlar

La diferencia esta en que la vista delega a su controlador la posibilidad de manejas eventos del usuario.
__________________
La ciencia es la estética de la inteligencia.
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 11:25.