Ver Mensaje Individual
  #21  
Antiguo 28-01-2008
Avatar de AzidRain
[AzidRain] AzidRain is offline
Miembro Premium
 
Registrado: sep 2005
Ubicación: Córdoba, Veracruz, México
Posts: 2.914
Reputación: 21
AzidRain Va camino a la fama
Pues mira mi buen Dec, yo no soy experto aún en el tema pero lo poco que he logrado comprender sobre MVC lejos de lo que haya podido leer que muchas veces te enreda mas es lo siguiente:

MVC= Modelo + Vista + Controlador

El controlador es una clase que se encarga de interactuar con el usuario (y solo el controlador lo debe poder hacer), sin embargo no tiene ni debe tener idea de como acceder a la base de datos, en su caso o como mostrar una página al usuario.

La vista es una clase encargada de mostrar cosas al usuario y en algunos casos recoger clicks o datos del usuario para pasárselos aun controlador ya que no sabe como manejarlas
A su vez, la vista puede recibir datos para mostrar.

El controlador es una clase que sabe como conectarse a una base de datos x, recuperar o guardar datos y en su caso devolverlos a quien se lo pida.

De manera que para hacer algo x, necsitamos al menos 1 controlador y 1 vista.

Ejemplo del diálogo entre una aplicación y un usuario:

Cita:
Controlador: Ok, vamos a trabajar a ver vista de bienvenida, cárgate y muéstrate
Vista de bienvenida: Listo, me cargo y espero a ver que me piden
Usuario: A ver aplicación, quiero una lista de todos los clientes
Vista de bienvenida: Mira controlador, que dice el usuario que quiere esto que no se que es.
Controlador: Perfecto, a ver modelo, dame esta lista.
Modelo: Enseguida la saco.
Modelo: Aqui tienes el resultado de lo que pediste.
Controlador: Muy bien, a ver, Vista de Lista aquí tienes este array, por favor muéstralo.
Vista de Lista: Bien, ya está mostrada.
Usuario: Perfecto, es lo que buscaba.
De esta manera, es relativamente sencillo cmabiar algo. Puede uno desarrollar toda la aplicación sin preocuparse por ejemplo por el diseño y CSS. Para cambiar como se ve se mete uno a cambiar las vistas y no hay tanto problema. Por otro lado si usas por ejmplo MySQL y quieres cambiar a FB o Posgress te vas al modelo y es lo único que cambia.

Casi todos los frameworks usan este enfoque pero te enredan con sus cosas y terminas confundido, excepto Code Igniter, este te deja hacerlo como se te pegue la gana siempre y cuando dejes cada cosa en su lugar.
__________________
AKA "El animalito" ||Cordobés a mucha honra||
Responder Con Cita