Modelo Vista Controlador - Itmorelia.edu.mx

Transcription

ModeloVistaControladorRogelio Ferreira Escutia

¿Qué es MVC?El Modelo Vista Controlador (Model View Controller) esun patrón de diseño que permite separar en capasnuestra aplicación para lograr un menor acoplamientoentre el código.Es una solución que sirve en todo tipo de aplicaciones,no solo de tipo de web.Ajax Web 2.0 para profesionales, Maximiliano Firtman, Alfaomega Grupo Editor,2

¿Quién lo propuso?El estilo fue descrito por primeravezen1979porTrygveReenskaug, entonces trabajandoen Smalltalk en laboratorios deinvestigación de Xerox.La implementación original estádescritaeleldocumento“Programación de Aplicacionesen Smalltalk-80: Como utilizarModelo Vista Controlador”.http://es.wikipedia.org/wiki/Modelo Vista Controlador3

Estructura del MVCEl patrón de de diseño sugiere que dividamos nuestraaplicación en 3 capas:Modelo: Es el que contiene la lógica de negocios denuestra aplicación y el que toma decisiones sobre elestado de los objetos dentro del sistema. Sabe cómohay que ejecutar un cambio en la aplicación, aunquenunca le muestra nada al usuario.Vista: Es la encargada de mostrar información al usuarioy recibir su interacción.Controlador: Es el que recibe el aviso de la interaccióndel usuario y decide qué es lo que hay que hacer. No seencarga de hacerlo, dado que para eso invoca al Modelo.Ajax Web 2.0 para profesionales, Maximiliano Firtman, Alfaomega Grupo Editor,4

Estructura o vista controlador.php5

MVC en la Web (Vista):Vista: Es el archivo XHTML junto al CSS quedefine la estructura de los elementos que elusuario ve junto con un identificador (id) acada elemento con el que se quiere interactuar.El XHTML no contendrá código JavaScriptalguno, ni siquiera la definición de un onclick.Ajax Web 2.0 para profesionales, Maximiliano Firtman, Alfaomega Grupo Editor,6

MVC en la Web (Controlador)Controlador: Es un archivo JavaScript quecontrola la Vista mencionada antes, por logeneral con el mismo nombre que el archivoXHTML, que al cargarse inicializará todo elcomportamiento inicial de la aplicación y seencargará de administrar la interacción entre lavista y el modelo.Ajax Web 2.0 para profesionales, Maximiliano Firtman, Alfaomega Grupo Editor,7

MVC en la Web (Modelo)Modelo: Son distintos archivos JavaScriptinvocados desde el controlador. Son lo quemantienen la lógica del negocio, los que secomunican con el servidor cuando seanecesario y los que le avisan al controlador delos cambios en el estado.Ajax Web 2.0 para profesionales, Maximiliano Firtman, Alfaomega Grupo Editor,8

Estructura MVC en la Webhttp://www.symfony-project.org/jobeet/1 4/Propel/es/049

Implementaciones del MVCExisten varias implementaciones del patrónModelo Vista Controlador que nos permitenrealizar páginas web, los principales son:Para PHP: CakePHPPara Ruby: RubyOnRailsPara Java: StrutsPara .net: MonoRailPara Python: iculo/?num 50510

CakePHP CakePHP es un framework o marco de trabajo que facilitael desarrollo de aplicaciónes web, utilizando el patrón dediseño MVC. Es de código abierto y se distribuye bajo licencia MIT. Cakephp está desarrollado en PHP con programaciónorientada a objetos. Al igual que Ruby On Rails, CakePHP facilita al usuario lainteracción con la base de datos mediante el uso deActiveRecord. Además hace uso del patrón Modelo PHP11

Ruby on Rails Ruby on Rails, también conocido como RoR o Rails esun framework de aplicaciones web de código abiertoescrito en el lenguaje de programación Ruby, siguiendoel paradigma de la arquitectura Modelo Vista Controlador(MVC). Trata de combinar la simplicidad con la posibilidad dedesarrollar aplicaciones del mundo real escribiendomenos código que con otros frameworks y con unmínimo de configuración. El lenguaje de programación Ruby permite lametaprogramación, de la cual Rails hace uso, lo queresulta en una sintaxis que muchos de sus usuariosencuentran muy legible.http://es.wikipedia.org/wiki/Ruby on rails12

Struts Struts es una herramienta de soporte para el desarrollode aplicaciones Web bajo el patrón MVC bajo laplataforma Java EE (Java Enterprise Edition). Struts se desarrollaba como parte del proyecto Jakartade la Apache Software Foundation, pero actualmente esun proyecto independiente conocido como ApacheStruts. Struts permite reducir el tiempo de desarrollo. Sucarácter de "software libre" y su compatibilidad contodas las plataformas en las que Java Entreprise estédisponible lo convierten en una herramienta truts13

MonoRail MonoRail es un framework que sigue el Modelo VistaControlador el cual funciona con Microsoft .Net 1.1, 2.0and Mono y su objetivo es escribir menos x.html14

DjangoDjango es un framework de desarrollo web decódigo abierto, escrito en Python, que cumple encierta medida el paradigma del Modelo VistaControlador.Fué desarrollado en origen para gestionar variaspáginas orientadas a noticias de la World Companyde Lawrence, Kansas, y fue liberada al público bajouna licencia BSD en julio de 2005.En Junio del 2008 fue anunciado que la reciénformada Django Software Foundation se hará cargode Django en el futuro. La versión estable (a mayo de2010) es la 1.2.http://es.wikipedia.org/wiki/Django15

Rogelio Ferreira EscutiaInstituto Tecnológico de MoreliaDepartamento de Sistemas y relia.edu.mxPágina Web: http://antares.itmorelia.edu.mx/ p.php?gid 15561374113972816

Cakephp está desarrollado en PHP con programación orientada a objetos. Al igual que Ruby On Rails, CakePHP facilita al usuario la interacción con la base de datos mediante el uso de ActiveRecord. Además hace uso del patrón Modelo Vista Controlador.