Vous êtes sur la page 1sur 22

ndice

MODELO VISTA CONTROLADOR (MVC)


INTRODUCCIN ................................................................................................................................... 1 HISTORIA ............................................................................................................................................. 1 DEFINICIN DE LAS PARTES ................................................................................................................ 2 MODELO .............................................................................................................................................. 2 MODELO DEL DOMINIO ...................................................................................................................... 3 MODELO DE LA APLICACION ............................................................................................................... 3 VISTA ................................................................................................................................................... 4 CONTROLADOR ................................................................................................................................... 4 CICLO DE VIDA DE MVC........................................................................................................................ 6 EL DIAGRAMA DE SECUENCIA.............................................................................................................. 7 FLUJO QUE SIGUE EL CONTROL EN UNA IMPLEMENTACIN GENERAL DE UN MVC ........................... 8 APLICACIONES DEL MODELO VISTA CONTROLADOR........................................................................... 9 UTILIZADO EN MLTIPLES FRAMEWORKS .......................................................................................... 9 FINALIDAD DEL MODELO VISTA CONTROLADOR .............................................................................. 10 MVC PODRA USAR OTROS PATRONES DE DISEO PARA SU IMPLEMENTACIN. ........................... 10 VENTAJAS Y DESVENTAJAS ................................................................................................................ 10 LAS VENTAJAS.................................................................................................................................... 11 LAS DESVENTAJAS: ............................................................................................................................ 12 MDELO VISTA CONTROLADOR Y ALGUNAS VARIANTES ................................................................. 13 MDELO VISTA CONTROLADOR (MVC) ............................................................................................ 13 MDELO VISTA PRESENTACIN (MVP)............................................................................................. 14 MVC VS MVP ..................................................................................................................................... 14 MODELO VISTA ADAPTACIN (MVA) ................................................................................................ 15 DIFERENCIAS MODELO 3 CAPAS, MULTICAPAS Y MVC ..................................................................... 15 MULTICAPAS: .................................................................................................................................... 15 MVC: .................................................................................................................................................. 16 RESPONSABILIDADES DE CAPAS EN MVC.......................................................................................... 16 EJEMPLO ............................................................................................................................................ 17 MODELO ............................................................................................................................................ 17 CONTROLADOR ................................................................................................................................. 17 VISTA ................................................................................................................................................. 18 CONCLUSIONES ................................................................................................................................. 18 MAPA CONCEPTUAL .......................................................................................................................... 19 CUESTIONARIO ......................................................................................Error! Bookmark not defined. BIBLIOGRAFIA ........................................................................................Error! Bookmark not defined.

Contenido

MODELO VISTA CONTROLADOR

Introduccin El Modelo Vista Controlador (MVC) es un patrn de arquitectura de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes distintos (Modelo, Vista y Controlador). El Patrn MVC 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; el Controlador es el responsable de recibir los eventos de entrada desde la Vista. Un modelo puede tener diversas vistas, cada una con su correspondiente controlador. Un ejemplo clsico es el de la informacin de una base de datos, que se puede presentar de diversas formas: diagrama de tarta, de barras, tabular, etc. Ampliando algo ms sobre MVC, podemos acotar que durante toda la dcada del setenta, SmallTalk y algunos otros lenguajes como Simula I, fueron construyendo gradualmente el paradigma de programacin orientada a objetos y estableciendo conceptos tales como objetos, clases, encapsulacin, herencia y polimorfismo. Si bien dichos lenguajes no son usados actualmente para implementar aplicaciones comerciales, los conceptos que dejaron en el mundo del desarrollo de software estn vigentes en la actualidad y son la base de lenguajes modernos como C++, Java o C#. SmallTalk tambin fue el primer lenguaje de programacin que permiti disear interfaces de usuario con mltiples ventanas desplegadas en una misma pantalla, concepto que despus fue aplicado por GEMS, Macintosh, X11, Windows y otras interfaces graficas de usuario modernas. El concepto central detrs de las libreras de interfaz de usuario provistas por SmallTalk est basado en el patrn de diseo MVC, creado por el profesor Trygve Reenskaug. MVC es un patrn de diseo que considera dividir una aplicacin en tres mdulos claramente identificables y con funcionalidad bien definida: El Modelo, las Vistas y el Controlador.

Contenido

Historia La arquitectura MVC (Model/View/Controller) fue introducida como parte de la versin Smalltalk-80 del lenguaje de programacin Smalltalk. Fue diseada para reducir el esfuerzo de programacin necesario en la implementacin de sistemas mltiples y sincronizados de los mismos datos. Sus caractersticas principales son que el Modelo, las Vistas y los Controladores se tratan como entidades separadas; esto hace que cualquier cambio producido en el Modelo se refleje automticamente en cada una de las Vistas. Este modelo de arquitectura se puede emplear en sistemas de representacin grfica de datos, como se ha citado, o en sistemas CAD, en donde se presentan partes del diseo con diferente escala de aumento, en ventanas separadas.

Definicin de las partes

Modelo Es la representacin especfica de la informacin con la cual el sistema opera. La lgica de datos asegura la integridad de estos y permite derivar nuevos datos; por ejemplo, no permitiendo comprar un nmero de unidades negativo, o calculando los totales e impuestos del carrito de compra. Esto quiere decir que aqu se operan los datos y las reglas de negocio asociadas al sistema,

incluyendo el anlisis sintctico y el procesamiento de los datos de entrada y de los datos de salida. El Modelo es el responsable de:

Acceder a la capa de almacenamiento de datos. Lo ideal es que el modelo sea independiente del sistema de almacenamiento.

Contenido

Define las reglas de negocio (la funcionalidad del sistema). Un ejemplo de regla puede ser: Si la mercanca pedida no est en el almacn, consultar el tiempo de entrega estndar del proveedor.

Lleva un registro de las vistas y controladores del sistema. Si estamos ante un modelo activo, notificar a las vistas los cambios que en los datos pueda producir un agente externo (por ejemplo, un fichero batch que actualiza los datos, un temporizador que desencadena una insercin, etc.). Un ejemplo de MVC con un modelo pasivo (aquel que no notifica cambios en los datos) es la navegacin web, que responde a las entradas del usuario, pero no detecta los cambios en datos del servidor.

El Modelo es el objeto que representa los datos del programa. Maneja los datos y controla todas sus transformaciones. El Modelo no tiene conocimiento especfico de los Controladores o de las Vistas, ni siquiera contiene referencias a ellos. Es el propio sistema el que tiene encomendada la responsabilidad de mantener enlaces entre el Modelo y sus Vistas, y notificar a las Vistas cuando cambia el Modelo.

Modelo del dominio Se podra decir que el modelo del dominio (o el modelo propiamente dicho) es el conjunto de clases que un ingeniero de software modela al analizar el problema que desea resolver; as, perteneceran al modelo del dominio: El cliente, la factura, la temperatura, la hora, etc. El modelo del dominio no debera tener relacin con nada externo a la informacin que contiene.

Modelo de la aplicacin El modelo de la aplicacin es un conjunto de clases que se relacionan con el modelo del dominio, que tienen conocimiento de las vistas y que implementan los mecanismos necesarios para notificar a estas ultimas sobre los cambios que se pudieren dar en el modelo del dominio. El modelo de la aplicacin es llamado tambin coordinador de la aplicacin.

Contenido

Vista Este presenta el Modelo, usualmente la interfaz de usuario. La vista es la capa de la aplicacin que ve el usuario en un formato adecuado para interactuar, en otras palabras, es nuestra interface grfica. Las vistas son responsables de:

Recibir datos del modelo y los muestra al usuario. Tienen un registro de su controlador asociado (normalmente porque adems lo instancia). Pueden dar el servicio de Actualizacin(), para que sea invocado por el controlador o por el modelo (cuando es un modelo activo que informa de los cambios en los datos producidos por otros agentes).

La Vista es el objeto que maneja la presentacin visual de los datos representados por el Modelo. Genera una representacin visual del Modelo y muestra los datos al usuario. Interacta con el Modelo a travs de una referencia al propio Modelo.

Controlador El Controlador es la capa que controla todo lo que puede realizar nuestra aplicacin. Responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista. Est compuesto por acciones que se representan con funciones en una clase. Por ejemplo, yo tengo mi controlador llamado Clientes, y este controlador puede realizar las acciones Crear,Editar,Listar entre otras. El controlador es responsable de:

Recibe los eventos de entrada (un clic, un cambio en un campo de texto, etc.).

Contenido

Contiene reglas de gestin de eventos, del tipo SI Evento Z, entonces Accin W. Estas acciones pueden suponer peticiones al modelo o a las vistas. Una de estas peticiones a las vistas puede ser una llamada al mtodo Actualizar (). Una peticin al modelo puede ser Obtener_tiempo_de_entrega( nueva_orden_de_venta ).

El Controlador es el objeto que proporciona significado a las rdenes del usuario, actuando sobre los datos representados por el Modelo. Cuando se realiza algn cambio, entra en accin, bien sea por cambios en la informacin del Modelo o por alteraciones de la Vista. Interacta con el Modelo a travs de una referencia al propio Modelo. Vamos a mostrar un ejemplo concreto. Consideremos como tal el sistema descrito en la introduccin a este captulo, una pieza geomtrica en tres dimensiones, que representamos en la figura siguiente:

En este caso, la pieza central de la escena en tres dimensiones es el Modelo. El Modelo es una descripcin matemtica de los vrtices y las caras que componen la escena. Los datos que describen cada vrtice o cara pueden modificarse (quizs como resultado de una accin del usuario, o una distorsin de la escena, o un algoritmo de sombreado). Sin embargo, no tiene nocin del punto de vista, mtodo de presentacin, perspectiva o fuente de luz. El Modelo es una representacin pura de los elementos que componen la escena. La porcin del programa que transforma los datos dentro del Modelo en una presentacin grfica es la Vista. La Vista incorpora la visin del Modelo a la escena; es la representacin grfica de la escena desde un punto de vista determinado, bajo condiciones de iluminacin determinadas.

Contenido

El Controlador sabe que puede hacer el Modelo e implementa el interface de usuario que permite iniciar la accin. En este ejemplo, un panel de datos de entrada es lo nico que se necesita, para permitir aadir, modificar o borrar vrtices o caras de la figura.

Ciclo de vida de MVC El ciclo de vida de MVC es normalmente representado por las 3 capas presentadas anteriormente y el cliente (tambin conocido como usuario). El siguiente diagrama representa el ciclo de vida de manera sencilla

Contenido

El primer paso en el ciclo de vida empieza cuando el usuario hace una solicitud al controlador con informacin sobre lo que el usuario desea realizar. Entonces el Controlador decide a quin debe delegar la tarea y es aqu donde el Modelo empieza su trabajo. En esta etapa, el Modelo se encarga de realizar operaciones sobre la informacin que maneja para cumplir con lo que le solicita el Controlador. Una vez que termina su labor, le regresa al Controlador la informacin resultante de sus operaciones, el cual a su vez redirige a la Vista. La Vista se encarga de transformar los datos en informacin visualmente entendible para el usuario. Finalmente, la representacin grfica es transmitida de regreso al Controlador y ste se encarga de transmitrsela al usuario. El ciclo entero puede empezar nuevamente si el usuario as lo requiere.

El diagrama de secuencia

Pasos: 1. El usuario introduce el evento.


7

Contenido

2. El Controlador recibe el evento y lo traduce en una peticin al Modelo (aunque tambin puede llamar directamente a la vista). 3. El modelo (si es necesario) llama a la vista para su actualizacin. 4. Para cumplir con la actualizacin la Vista puede solicitar datos al Modelo. 5. El Controlador recibe el control. La popularidad de este diseo se debe ms que todo a que es mucho ms fcil organizar aplicaciones grandes.

Flujo que sigue el control en una implementacin general de un MVC 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) 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 refleja los cambios en el modelo (por ejemplo, produce un listado del contenido del carro de la compra

Contenido

5. La interfaz de usuario espera nuevas interacciones del usuario, comenzando el ciclo nuevamente.

Aplicaciones del Modelo Vista Controlador Modelo Vista Controlador (MVC) es un patrn de arquitectura de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes distintos. El patrn MVC 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. Se recomienda su aplicacin en aquellos proyectos donde se contemple un gran nmero de desarrolladores, y se les pueda distribuir las tareas de forma modular y centralizada en tareas bien definidas y cuantificables. A modo de ejemplo, para el desarrollo del Framework ASP.NET MVC 1.0, se desarroll un sitio completo a partir del patrn

Utilizado en mltiples frameworks Java Swing Java Enterprise Edition (J2EE) XForms (Formato XML estndar del W3C para la especificacin de un modelo de proceso de datos XML e interfaces de usuario como formularios web) GTK+ (escrito en C, toolkit creado por Gnome para construir aplicaciones grficas, inicialmente para el sistema X Window) ASP.NET MVC Framework (Microsoft)
9

Contenido

Google Web Toolkit (GWT, para crear aplicaciones Ajax con Java) Apache Struts (framework para aplicaciones web J2EE) Ruby on Rails (framework para aplicaciones web con Ruby)

Finalidad del Modelo Vista Controlador La finalidad del modelo es mejorar la reusabilidad por medio del desacople entre la vista y el modelo.

MVC podra usar otros patrones de diseo para su implementacin. El patrn 'Observer' podra servir como mecanismo de subscripcin / notificacin de un conjunto de objetos que deben actualizarse cuando otro objeto cambia, sin que ninguno de ellos conozca ni sepa los detalles de los otros. La relacin entre Vista-Controlador podra estar implementada mediante el patrn 'Strategy'. Este patrn podra permitirnos elegir y cambiar en tiempo de ejecucin que tipo de interaccin existir entre ambos objetos. Un objeto Strategy representa un algoritmo y este patrn nos permitira tener variantes a elegir dinmicamente. Las vistas podramos verlas como un conjunto de elementos que se componen. El patrn 'Composite' nos permite definir un conjunto de objetos primitivos y un mecanismo para combinarlos y ensamblarlos para formar objetos ms complejos. Otros como 'Factory Method' podra especificar que controlador instanciar para que vista y el 'Decorator' para hacer variantes de una vista, enriqueciendo su funcionamiento, por ejemplo, incorporando un scroll a una vista.

Ventajas y Desventajas

10

Contenido

Las ventajas

Clara separacin entre interfaz, lgica de negocio y de presentacin, que adems provoca parte de las ventajas siguientes.

Sencillez para crear distintas representaciones de los mismos datos. Facilidad para la realizacin de pruebas unitarias de los componentes, as como de aplicar desarrollo guiado por pruebas (TDD).

Reutilizacin de los componentes. Simplicidad en el mantenimiento de los sistemas. Facilidad para desarrollar prototipos rpidos. Los desarrollos suelen ser ms escalables. La aplicacin esta implementada modularmente. Sus vistas muestran informacin actualizada siempre. El programador no debe preocuparse de solicitar que las vistas se actualicen, ya que este proceso es realizado automticamente por el modelo de la aplicacion.Si se desea hacer una modificacin al modelo del dominio, como aumentar mtodos o datos contenidos, solo debe modificarse el modelo y las interfaces del mismo con las vistas, no todo el mecanismo de comunicacin y de actualizacin entre modelos.

Las modificaciones a las vistas no afectan en absoluto a los otros mdulos de la aplicacin.

MVC es bastante utilizado en la actualidad en marcos de aplicacin orientado a objeto desarrollados para construir aplicaciones de gran tamao; Java Swing, Apache Struts, Microsoft ASP.NET, las

transformaciones XSL o incluso los documentos LATEX siguen este patrn de diseo.

MVC est demostrando ser un patrn de diseo bien elaborado pues las aplicaciones que lo implementan presentan una extensibilidad y una mantenibilidad nicas comparadas con otras aplicaciones basadas en otros patrones.

11

Contenido

Las desventajas:

Tener que ceirse a una estructura predefinida, lo que a veces puede incrementar la complejidad del sistema. Hay problemas que son ms difciles de resolver respetando el patrn MVC.

La curva de aprendizaje para los nuevos desarrolladores se estima mayor que la de modelos ms simples como Webforms.

La distribucin de componentes obliga a crear y mantener un mayor nmero de ficheros.

El tiempo de desarrollo de una aplicacin que implementa el patrn de diseo MVC es mayor, al menos en la primera etapa, que el tiempo de desarrollo de una aplicacin que no lo implementa, ya que MVC requiere que el programador implemente una mayor cantidad de clases que en un entorno de desarrollo comn no son necesarias. Sin embargo, esta desventaja es muy relativa ya que posteriormente, en la etapa de mantenimiento de la aplicacin, una aplicacin MVC es muchsimo mas mantenible, extensible y modificable que una aplicacin que no lo implementa. MVC requiere la existencia de una arquitectura inicial sobre la que se deben construir clases e interfaces para modificar y comunicar los mdulos de una aplicacin. Esta arquitectura inicial debe incluir, por lo menos: un mecanismo de eventos para poder proporcionar las notificaciones que genera el modelo de aplicacin; una clase Modelo, otra clase Vista y una clase Controlador genricas que realicen todas las tareas de comunicacin, notificacin y actualizacin que sern luego transparentes para el desarrollo de la aplicacin. MVC es un patrn de diseo orientado a objetos por lo que su implementacin es sumamente costosa y difcil en lenguajes que no siguen este paradigma. Como ya se mencion, este modelo de arquitectura presenta varias ventajas:
12

Contenido

Hay una clara separacin entre los componentes de un programa; lo cual nos permite implementarlos por separado Hay un API muy bien definido; cualquiera que use el API, podr reemplazar el Modelo, la Vista o el Controlador, sin aparente dificultad. La conexin entre el Modelo y sus Vistas es dinmica; se produce en tiempo de ejecucin, no en tiempo de compilacin. Al incorporar el modelo de arquitectura MVC a un diseo, las piezas de un programa se pueden construir por separado y luego unirlas en tiempo de ejecucin. Si uno de los Componentes, posteriormente, se observa que funciona mal, puede reemplazarse sin que las otras piezas se vean afectadas. Este escenario contrasta con la aproximacin monoltica tpica de muchos programas Java. Todos tienen un Frame que contiene todos los elementos, un controlador de eventos, un montn de clculos y la presentacin del resultado. Ante esta perspectiva, hacer un cambio aqu no es nada trivial.

Modelo Vista Controlador y algunas variantes

Modelo Vista Controlador (MVC) El Modelo Vista Controlador es el patrn arquitectural ms usado en la ingeniera del software. Este patrn nos separa el modelos de datos, el modelo de la capa de presentacin (vista) y de la parte de control. De este modelo podemos decir, que gestiona la informacin y advierte a las otras capas de cambios en sus datos. Representa el dominio de datos. La vista representa grficamente el modelo para que el usuario pueda interactuar l, es la interfaz de datos. El controlador recibe las peticiones de la vista y le responde actualizando el modelo de datos. Debido a que la vista observa los cambios en el modelo de datos, esta actualiza sus componentes en funcin de stos. La finalidad de este patrn ser la de conseguir un bajo acoplamiento en sus aplicaciones. Este lo logra desacoplando los modelos de las vistas, reduce la
13

Contenido

complejidad en el diseo arquitectural e incrementando la flexibilidad y mantenimiento del cdigo.

Modelo Vista Presentacin (MVP) Este patrn es un derivado del anterior. Est centrado en la interfaz de usuario y tambin pensado para facilitar el la unidad de testeo y mejorar la separacin conceptos en la presentacin de la lgica del programa. Genera una implementacin limpia del patrn Observer entre el modelo y la vista. El modelo funciona como una interface que define los datos que sern mostrados luego en la vista. La vista es una interface que nos muestra los datos del modelo y lanza llamadas a la capa presentacin para que luego acte con los datos. La presentacin recupera los datos del modelo y los modera y hacia la vista. Normalmente, la vista instancia su objeto presentacin con el que se relacionar y luego le proporciona una referencia suya. El grado de lgica permitida en las vistas variara en funcin de la implementacin que usemos: podremos hacer que la vista sea totalmente pasiva, alegando todas las operaciones a la presentacin. Otras versiones del MVP nos permiten ms autonoma a la vista. Si nos centramos en un punto de vista de capas, la presentacin se considerara la capa de aplicacin entre el modelo y la vista. El creador del patrn MVP, Martin Fowler, decidi separarlo en dos patrones de presentacin que ya hemos tratado en madeinflex, son el supervising presenter y el passive view.

MVC vs MVP Los une la idea de que el modelo alberga los datos y la vista los representa. Tanto el controller como el presenter se encargan de coordinar la aplicacin y es en estas clases donde est la diferencia: el Presenter tiene ms responsabilidades, maneja los datos del modelo y trata las propiedades de la vista que recibir como parmetro.
14

Contenido

Modelo Vista Adaptacin (MVA) Como en los dos patrones anteriores, se pretende separar el modelo de datos de la vista para poder realizar cambios en la vista y que estos no afecten al modelo de datos. MVA y MVC intentan solucionar este problema con dos aproximaciones diferentes: MVC mantiene un estructura triangular entre el modelo, la vista y el controller, en la cual las tres entidades seran los vrtices del tringulo y las aristas las vas de comunicacin entre stas. MVA lo soluciona de otra forma, lo hace mediante una estructura lineal en la cual en una punta estar la vista, en la otra el modelo y en el centro el adapter o mediating controller, pero se evita la comunicacin directa entre la vista y el modelo. As pues, en este modelo, la vista est totalmente separada del modelo de datos y estas entidades slo se pueden comunicar a travs el adapter, dicho de otro modo, slo el adapter tiene conocimiento del modelo y de la vista. Con esta separacin de comportamientos, conseguiremos que una amplia variedad de vistas puedan acceder indirectamente al modelo de datos mediante el mismo adapter. Las vistas tambin se olvidan del modelo de datos, ya que es el adapter quien las comunica con ste. Esto tambin nos permite poder usar diferentes adapters para cada par vista / modelo. Un ejemplo podra ser la aplicacin de una entidad bancaria, para cada una de sus delegaciones, puede ser que con los mismos datos y la misma vista se tengan que manipular los datos de maneras diferentes, para eso podremos tener diferentes adapters sin tener que modificar ni la vista ni el modelo de los datos. MVA tambin es conocido como mediating-controller. Hay quien cree que como base sigue la misma idea que MVP, aunque hay gurs del software que se matan y defienden diferencias entre ellos.

Diferencias modelo 3 Capas, Multicapas y mvc

Multicapas:
15

Contenido

Centralizacin de los aspectos de seguridad y transaccionalidad, que seran responsabilidad del modelo. No replicacin de lgica de negocio en los clientes: esto permite que las modificaciones y mejoras sean automticamente aprovechadas por el conjunto de los usuarios, reduciendo los costes de mantenimiento. Mayor sencillez de los clientes.

MVC: El modelo, que contiene la lgica de negocio de la aplicacin La vista, que muestra al usuario la informacin que ste necesita. El controlador, que recibe e interpreta la interaccin del usuario, actuando sobre modelo y vista de manera adecuada para provocar cambios de estado en la representacin interna de los datos, as como en su visualizacin.

Responsabilidades de capas en MVC Modelo: Es la capa encargada de encapsular toda la lgica de negocio de nuestra aplicacin. Esta capa se puede subdividir en varias: Lgica de negocio: Contiene clases o varias para constituir lo referente a la capa de aplicacin, se encarga de atender a las peticiones de los controladores y as dar una respuesta acorde con lo recibido. Capa de datos: Se encarga de gestionar toda la interconexin con el SGBD, as mismo, puede contener un gestor ORM para su aprovechamiento mximo y mejor mantenimiento. Solo se comunica con la lgica de negocio. Helpers: Llamados ayudantes apoyan tanto al controlador como a la vista para hacer ms livianas algunas tareas. Controlador: Es el eje central de nuestra arquitectura, encargada de gestionar todas las peticiones, validar los inputs recibidos y dirigir cualquier peticin de cualquier tipo. Solo se comunica con el modelo y responde a travs de vistas.

16

Contenido

Vista: Es la respuesta de cada controlador y lo que se le presenta al usuario final, se puede comunicar con el controlador, los helpers y el modelo (en algunas ocasiones).

Ejemplo Bien, pero esto cmo se implementa? Existe una pequea dificultad: la mayor parte de las herramientas de desarrollo incorporan en las clases de la vista gran parte o todo el procesamiento de eventos. Con lo que el controlador queda semioculto dentro de la vista. A pesar de ello, podemos acercarnos bastante al patrn.

Modelo Un ejemplo de la vida real de un Modelo sera una clase llamada Cliente, la cual tiene las mismas propiedades de una tabla cliente en mi base de datos

Controlador Un Controlador seria el Controlador Cliente, generalmente las clases

Controladoras llevan el sufijo Controlador, as que en nuestro caso se llamara ClientesControlador. El controlador llevara las acciones que nosotros podemos realizar en un cliente como por ejemplo, agregar, borrar, modificar, agregar orden, etc.

17

Contenido

Vista La Vista es el ms fcil de entender, simplemente es nuestra pgina HTML. A travs de la accin del Controlador especificamos a que vista queremos enviar el resultado de la accin del Controlador. En algunos casos es necesario pasar informacin a la Vista desde el Controlador, esto se logra fcilmente en el cdigo de la accin.

Conclusiones El Modelo Vista Controlador (MVC) separa la lgica de la aplicacin y la presentacin en varias capas. Facilita la labor de todo el equipo: diseadores grficos, programadores, diseadores de base de datos y. Existen marcos de trabajo ya programados (segn en lenguaje de programacin hay ms o menos posibilidades) que facilitarn el trabajo de los miembros del equipo de trabajo

18

Contenido

MAPA CONCEPTUAL

MODELO VISTA CONTROLADOR

DEFINICION

PARTES DEL MVC

EL DIAGRAMA DE SECUENCIA

El Modelo Vista Controlador (MVC) es un patrn de arquitectura de software que separa los datos de una aplicacin, la interfaz de usuario, y la lgica de control en tres componentes distintos (Modelo, Vista y Controlador

Sus caractersticas principales son que el Modelo, las Vistas y los Controladores se tratan como entidades separadas; esto hace que cualquier cambio producido en el Modelo se refleje automticamente en cada una de las Vistas.

Modelo Es la representacin especfica de la informacin con la cual el sistema opera Vista Este presenta el Modelo, usualmente la interfaz de usuario Controlador El Controlador es la capa que controla todo lo que puede realizar nuestra aplicacin.

El usuario introduce el evento. El Controlador recibe el evento y lo traduce en una peticin al Modelo (aunque tambin puede llamar directamente a la vista). El modelo (si es necesario) llama a la vista para su actualizacin. Para cumplir con la actualizacin la Vista puede solicitar datos al Modelo. El Controlador recibe el control.

Ventajas y desventajas

Ventajas

Simplicidad en el mantenimiento de los sistemas. Facilidad para desarrollar prototipos rpidos. Los desarrollos suelen ser ms escalables.

Desventajas MVC requiere la existencia de una arquitectura inicial sobre la que se deben construir clases e interfaces para modificar y comunicar los mdulos de una aplicacin

19

Contenido

BIBLIOGRAFA http://www.neleste.com/modelo-vista-controlador-y-algunas-variantes/ http://rogue-development.com/uploads/model_adapter/ModelAdapterExample.html http://www.comusoft.com/modelo-vista-controlador-definicion-y-caracteristicas http://www.sgmweb.es/modelo.asp http://www.leandroiriarte.com.ar/spanish/web_mvc.php

20

Vous aimerez peut-être aussi