Está en la página 1de 6

Modelo Vista Controlador

Modelo Vista Controlador (MVC) es un patrn o modelo de abstraccin de desarrollo de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de negocio en tres componentes distintos. El patrn de llamada y retorno MVC (segn CMU), se ve frecuentemente en aplicaciones web, donde la vista es la pgina HTML y el cdigo que provee de datos dinmicos a la pgina. El modelo es el Sistema de Gestin de Base de Datos y la Lgica de negocio, y el controlador es el responsable de recibir los eventos de entrada desde la vista. Descripcin del patrn Modelo: Esta es la representacin especfica de la informacin con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema tambin puede operar con ms datos no relativos a la presentacin, haciendo uso integrado de otras lgicas de negocio y de datos afines con el sistema modelado. Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista. Modelo: Esta es la representacin especfica de la informacin con la cual el sistema opera. En resumen, el modelo se limita a lo relativo de la vista y su controlador facilitando las presentaciones visuales complejas. El sistema tambin puede operar con ms datos no relativos a la presentacin, haciendo uso integrado de otras lgicas de negocio y de datos afines con el sistema modelado. Vista: Este presenta el modelo en un formato adecuado para interactuar, usualmente la interfaz de usuario. Controlador: Este responde a eventos, usualmente acciones del usuario, e invoca peticiones al modelo y, probablemente, a la vista.

Muchos de los sistemas informticos utilizan un Sistema de Gestin de Base de Datos para gestionar los datos: en lneas generales del MVC corresponde al modelo. La unin entre capa de presentacin y capa de negocio conocido en el paradigma de la Programacin por capas representara la integracin entre Vista y su correspondiente Controlador de eventos y

CESAR PEREZ PEA 4 C

tic

Pgina 1

acceso a datos, MVC no pretende discriminar entre capa de negocio y capa de presentacin pero si pretende separar la capa visual grfica de su correspondiente programacin y acceso a datos, algo que mejora el desarrollo y mantenimiento de la Vista y el Controlador en paralelo, ya que ambos cumplen ciclos de vida muy distintos entre s. Aunque se pueden encontrar diferentes implementaciones de MVC, el flujo que sigue el control generalmente es el siguiente: 1) El usuario interacta con la interfaz de usuario de alguna forma (por ejemplo, el usuario pulsa un botn, enlace, etc.) 2) El controlador recibe (por parte de los objetos de la interfaz-vista) la notificacin de la accin solicitada por el usuario. El controlador gestiona el evento que llega, frecuentemente a travs de un gestor de eventos (handler) o callback. 3) El controlador accede al modelo, actualizndolo, posiblemente modificndolo de forma adecuada a la accin solicitada por el usuario (por ejemplo, el controlador actualiza el carro de la compra del usuario). Los controladores complejos estn a menudo estructurados usando un patrn de comando que encapsula las acciones y simplifica su extensin. 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 reflejan 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, se podra utilizar el patrn Observador para proveer cierta indireccin 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. 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. 5) La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

Frameworks MVC Lenguaje Licencia Nombre

CESAR PEREZ PEA 4 C

tic

Pgina 2

Objective C Ruby Ruby Ruby Ruby Java Java Java Java Java Java Java Java Java JavaScript Perl

Apple

Cocoa

MIT MIT MIT MIT Apache GPL LGPL Apache Apache Apache Apache Apache Apache GPLv3 GPL

Ruby on Rails Merb Ramaze Rhodes Grails Interface Java Objects Framework Dinmica Struts Beehive Spring Tapestry Aurora JavaServerFaces ExtJS 4 Mojolicious

CESAR PEREZ PEA 4 C

tic

Pgina 3

Perl Perl Perl Perl Perl Perl Perl Perl Perl PHP

GPL GPL GPL GPL GPL GPL Comercial GPL GPL GPL

Catalyst CGI::Application Gantry Framework Jifty Maypole OpenInteract2 PageKit Cyclone 3 CGI::Builder Self Framework ( php5, MVC, ORM, Templates, I18N, Multiples DB) ZanPHP Tlalokes SiaMVC Agavi Zend Framework CakePHP

PHP PHP PHP PHP PHP PHP

LGPL LGPL GPL LGPL BSD MIT

CESAR PEREZ PEA 4 C

tic

Pgina 4

PHP PHP PHP PHP PHP PHP PHP PHP PHP PHP PHP PHP PHP PHP Python Python Python

GNU/GPL MIT MIT GNU/GPL BSD MPL 1.1 BSD GNU Apache 2.0 BSD GPL GPL MIT GNU/GPL ZPL Varias GPL

KumbiaPHP Symfony QCodo CodeIgniter Kohana PHP4ECore PRADO FlavorPHP Yupp PHP Framework Yii PHP Framework Logick PHP Framework Osezno PHP Framework (sPHPf) Simple PHP Framework gvHidra Zope3 Turbogears Web2py

CESAR PEREZ PEA 4 C

tic

Pgina 5

Python Python .NET .NET .NET .NET .NET

BSD BSD Castle Project Apache Apache MS-PL Microsoft Practices Patterns

Pylons Django MonoRail Spring .NET Maverick .NET ASP.NET MVC & User Interface Process (UIP) Application Block

AS3 AS3 y Flex

Adobe Open Source MIT License

Cairngorm CycleFramework

CESAR PEREZ PEA 4 C

tic

Pgina 6

También podría gustarte