Você está na página 1de 3

Instituto Tecnolgico de Tijuana Subdireccin Acadmica Departamento de Sistemas y computacin Agosto Diciembre 2012

Ingeniera en Sistemas Computacionales

Programacin Avanzada 6W7C Modelo Vista Controlador Maestro: Parra Galaviz Ray Brunette Alumno: Edelman Gutirrez Garca No. Control 09211241 Saln: 311 Horario: de 5 a 6 p.m. Tijuana B.C. a 11 de Septiembre del 2012
1

Modelo Vista Controlador El Modelo Vista Controlador es un patrn para el desarrollo del software que se basa en separar los datos (por un lado), la interfaz del usuario (por otro) y la lgica interna (por un ltimo lado). Es mayormente usado en aplicaciones web, dnde la vista es la pgina HTML, el modelo es el Sistema de Gestin de Base de Datos y la lgica interna, y el controlador es el responsable de recibir los eventos y darles solucin. El estilo fue descrito por primera vez en 1979 por Trygve Reenskaug, entonces trabajando en Smalltalk en laboratorios de investigacin de Xerox. La implementacin original est descrita en Programacin de Aplicaciones en Smalltalk-80(TM): Como utilizar Modelo Vista Controlador.2 A continuacin vamos a desgranar ms cada elemento:

Modelo: Es la representacin de la informacin en el sistema. Trabaja junto a la vista para mostrar la informacin al usuario y es accedido por el controlador para aadir, eliminar, consultar o actualizar datos. Vista: Es la presenta al modelo en un formato adecuado para que el usuario pueda interactuar con l, casi siempre es la interfaz de usuario.

Controlador: Es el elemento ms abstracto. Recibe, trata y responde los eventos enviados por el usuario o por la propia aplicacin. Interactua tanto con el modelo como con la vista.

Para entender mejor el uso del modelo MVC vamos a ver su flujo de control: 1. El usuario activa un evento en la interfaz (botn, enlace, etc.) 2. El controlador recibe el evento y lo gestiona. 3. El controlador consulta o modifica el modelo. 4. El controlador manda la respuesta a la interfaz y esta reacciona en funcin de esta (cambia de pantalla, abre un enlace, etc.) 5. La interfaz espera una nueva accin del usuario.

Existen multitud de frameworks que usan este modelo, entre los ms destacados estn:

Cocoa, escrito en Objetive C (usado en Mac OS X) Ruby On Rails, escrito en Ruby. Struts o Spring, escritos en Java. Catalyst, escrito en Perl. Symfony o Zend, escritos en PHP. Django o Pylons, escritos en Python.

Ventajas: 1. Es posible tener diferentes vistas para un mismo modelo (eg. representacin de un conjunto de datos como una tabla o como un diagrama de barras). 2. Es posible construir nuevas vistas sin necesidad de modificar el modelo subyacente. 3. Proporciona un mecanismo de configuracin a componentes complejos muchos ms tratable que el puramente basado en eventos (el modelo puede verse como una representacin estructurada del estado de la interaccin).