Beruflich Dokumente
Kultur Dokumente
Historia
El patrn MVC fue una de las primeras ideas en el campo de las interfaces grficas de
usuario y uno de los primeros trabajos en describir e implementar aplicaciones software en
trminos de sus diferentes funciones. MVC fue introducido por Trygve
Reenskaug en Smalltalk-76 durante su visita a Xerox Parc en los aos 70 y, seguidamente,
en los aos 80, Jim Althoff y otros implementaron una versin de MVC para la biblioteca
de clases de Smalltalk-80. Solo ms tarde, en 1988, MVC se expres como un concepto
general en un artculo sobre Smalltalk-80. En esta primera definicin de MVC
el controlador se defina como el mdulo que se ocupa de la entrada. Esta definicin no
tiene cabida en las aplicaciones modernas en las que esta funcionalidad es asumida por una
combinacin de la vista y algn framework moderno para desarrollo. El controlador, en las
aplicaciones modernas de la dcada de 2000, es un mdulo o una seccin intermedia de
cdigo, que hace de intermediario de la comunicacin entre el modelo y la vista, y unifica
la validacin.
Algunos aspectos del patrn MVC han evolucionado dando lugar a ciertas variantes del
concepto original, ya que "'las partes del MVC clsico realmente no tienen sentido para los
clientes actuales":11
Que es MVC?
1
TEMA
N2
MODELO-VISTA-CONTROLADOR
TALLER
I-
INFORMATICA
2016
MVC es un "invento" que ya tiene varias dcadas y fue presentado incluso antes de la
aparicin de la Web. No obstante, en los ltimos aos ha ganado mucha fuerza y seguidores
gracias a la aparicin de numerosos frameworks de desarrollo web que utilizan el patrn
MVC como modelo para la arquitectura de las aplicaciones web.
Modelos
Es la capa donde se trabaja con los datos, por tanto contendr mecanismos para acceder a la
informacin y tambin para actualizar su estado. Los datos los tendremos habitualmente en
una base de datos, por lo que en los modelos tendremos todas las funciones que accedern a
las tablas y harn los correspondientes selects, updates, inserts, etc.
No obstante, cabe mencionar que cuando se trabaja con MCV lo habitual tambin es
utilizar otras libreras como PDO o algn ORM como Doctrine, que nos permiten trabajar
con abstraccin de bases de datos y persistencia en objetos. Por ello, en vez de usar
directamente sentencias SQL, que suelen depender del motor de base de datos con el que se
est trabajando, se utiliza un dialecto de acceso a datos basado en clases y objetos.
Vistas
Las vistas, como su nombre nos hace entender, contienen el cdigo de nuestra aplicacin
que va a producir la visualizacin de las interfaces de usuario, o sea, el cdigo que nos
permitir renderizar los estados de nuestra aplicacin en HTML. En las vistas nada ms
tenemos los cdigos HTML y PHP que nos permite mostrar la salida.
En la vista generalmente trabajamos con los datos, sin embargo, no se realiza un acceso
directo a stos. Las vistas requerirn los datos a los modelos y ellas se generara la salida, tal
como nuestra aplicacin requiera.
2
TEMA
N2
MODELO-VISTA-CONTROLADOR
TALLER
I-
INFORMATICA
2016
Controladores
Contiene el cdigo necesario para responder a las acciones que se solicitan en la aplicacin,
como visualizar un elemento, realizar una compra, una bsqueda de informacin, etc.
En realidad es una capa que sirve de enlace entre las vistas y los modelos, respondiendo a
los mecanismos que puedan requerirse para implementar las necesidades de nuestra
aplicacin. Sin embargo, su responsabilidad no es manipular directamente datos, ni mostrar
ningn tipo de salida, sino servir de enlace entre los modelos y las vistas para implementar
las diversas necesidades del desarrollo.
3
TEMA
N2
MODELO-VISTA-CONTROLADOR
TALLER
I-
INFORMATICA
2016
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. Este uso del
patrn Observador no es posible en las aplicaciones Web puesto que las clases de la
vista estn desconectadas del modelo y del controlador. En general 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 enve los datos del modelo a
la vista. Por ejemplo en el MVC usado por Apple en su framework Cocoa. Suele
citarse como Modelo-Interface-Control, una variacin del MVC ms puro
5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo
nuevamente....
4
TEMA
N2
MODELO-VISTA-CONTROLADOR
TALLER
I-
INFORMATICA
2016
5
TEMA
N2
MODELO-VISTA-CONTROLADOR
TALLER
I-
INFORMATICA
2016