Você está na página 1de 20

PATRONES DE DISEO

MODELO-VISTA-CONTROLADOR (MVC)

Participantes
Johanna Barrientos
Sergio Cannobbio
Mauricio Contreras
Diego Carrasco
David Mancilla
Docente
Mara Consuelo Castillo Montenegro
Asignatura
Ingeniera de Software
INGENIERIA DE SOFTWARE | NRC: 6566-ACI491-482

INTRODUCCIN

El patrn de arquitectura MVC (Modelo Vista Controlador) es un patrn que define la


organizacin independiente delModelo, laVista y elControlador.

De esta forma, dividimos el sistema en tres capas donde, como explicaremos ms adelante,
tenemos la encapsulacin de los datos (organizar datos y mtodos de una estructura), la
interfaz o vista por otro y por ltimo la lgica interna o controlador.

Es una forma de resolver la escalabilidad y el desacoplamiento entre las vistas de una


aplicacin y el Modelo que gestiona los datos.

Su nombre es un acrnimo de: MODELO VISTA CONTROLADOR

MODELO
VISTA
CONTROLADOR

El patrn de arquitectura "modelo vista controlador", es una filosofa de diseo de


aplicaciones, compuesta por:
Modelo
Es la capa encargada de datos, tiene mecanismos para acceder a la
informacin y para tambin actualizar su estado. Comnmente este se
encarga de generar una conexin con la base de datos a la cuales
acceder a tablas y realizara las funciones habituales de datos.
Vista
Se trata del cdigo que nos permitir presentar los datos que el modelo
nos proporciona, como ejemplo podramos decir que una aplicacin
web es el cdigo HTML que nos permite la salida de datos Procesados.
Controlador
Es la capa que sirve de enlace entre la vista y el modelo. Enva
comando para actualizar su estado, y a la vista correspondiente para
cambiar su presentacin, pero no es el encargado de manipular los
datos ni generar una salida.

MVC

Modelo
Contiene el ncleo de la funcionalidad (dominio) de la aplicacin.
Encapsula el estado de la aplicacin.
No sabe nada / independiente del Controlador y la Vista.

Vista
Es la presentacin del Modelo.
Puede acceder al Modelo pero nunca cambiar su estado.
Puede ser notificada cuando hay un cambio de estado en el Modelo.

Controlador
Reacciona a la peticin del Cliente, ejecutando la accin adecuada y creando el modelo pertinente

MVC

Qu es el Patrn MVC

Qu es el Patrn MVC
Conceptualmente:
LA VISTA se actualiza en funcin del los cambios de estado del Modelo. El
Modelo NO conoce quien es la Vista. La vista interacta libremente con el
controlador y viceversa.
El MODELO es una representacin de los datos de la aplicacin o del estado,
y contiene (o proporciona una interfaz a) la lgica de aplicacin. El Modelo
interacta libremente con el Controlador y viceversa.
El CONTROLADOR slo gestiona la interaccin entre el Modelo y la Vista.

Para que sirve Patrn MVC

Para entender cmo funciona y para que sirve nuestro patrn Modelo
vista controlador, se debe entender la divisin a travs del conjunto de
estos tres elementos y como estos componentes se comunican unos con
los otros y con otras vistas y controladores externos a el modelo
principal. Para ello, es importante saber que el controlador interpreta las
entradas del usuario (tanto teclado como el ratn), enviado el mensaje
de accin al modelo y a la vista para que se proceda con los cambios
que se consideren adecuados.

Comunicacin

El modelo, la vista y el controlador deben comunicarse de una manera estable los unos
con los otros, de manera que sea coherente con las iteraciones que el usuario realizara.
Como es lgico la comunicacin entre la vista y el controlador es bastante bsica pues
estn diseados para operar juntos, pero los modelos se comunican de una manera
diferente, un poco ms sutil

Modelo pasivo

No es necesario para el modelo hacer ninguna tener alguna disposicin a l,


simplemente basta con tener en cuenta su existencia.
El modelo no tiene ninguna responsabilidad para comunicar los cambios a la vista porque
ocurren solo por orden del usuario, por lo que esta funcin la llevara a cabo el
controlador porque ser el que interprete las ordenes de este usuario debido a que solo
debe comunicar que algo ha cambiado. Por esto, el modelo es se encuentra en modo
inconsciente y su participacin en este caso es irrisoria.

Unin del modelo con la vista y el controlador

Como no todos los modelos pueden ser pasivos, necesitamos algo que comunique al
controlador y a la vista, por lo que en este caso, si que necesitamos el modelo, ya que
solo este puede llevar a cabo los cambios necesarios al estado actual en el que estos se
encuentran.

El patrn MVC

MVC: Modelo-Vista-Controlador

Es un patrn de arquitectura de las aplicaciones software

Separa la lgica de negocio de la interfaz de usuario

Facilita la evolucin por separado de ambos aspectos Incrementa


reutilizacin y flexibilidad.

El Patrn MVC

Modelo-Vista-Controlador

Un modelo

Varias vistas

Varios controladores

Las vistas y los controladores suelen estar muy relacionados


Los controladores tratan los eventos que se producen en la interfaz grfica
(vista)

Esta separacin de aspectos de una aplicacin da mucha flexibilidad al


desarrollador

El patrn MVC

Flujo de control

1. El usuario realiza una accin en la interfaz

2. El controlador trata el evento de entrada Previamente se ha


registrado

3. El controlador notifica al modelo la accin del usuario, lo que puede


implicar un cambio del estado del modelo (si no es una mera consulta)

4. Se genera una nueva vista. La vista toma los datos del modelo El
modelo no tiene conocimiento directo de la vista

5. La interfaz de usuario espera otra interaccin del usuario, que


comenzar otro nuevo ciclo

MVC en aplicaciones web

Vista: la pgina HTML

Controlador: cdigo que obtiene datos dinmicamente y genera el


contenido HTML

Modelo: la informacin almacenada en una base de datos o en XML.

Junto con las reglas de negocio que transforman esa informacin


(teniendo en cuenta las acciones de los usuarios)

MVC en Java Swing

Modelo: El modelo lo realiza el desarrollador

Vista: Conjunto de objetos de clases que heredan de


java.awt.Component

Controlador: El controlador es el thread de tratamiento de eventos,


que captura y propaga los eventos a la vista y al modelo Clases de
tratamiento de los eventos (a veces como clases annimas) que
implementan interfaces de tipo EventListener (ActionListener,
MouseListener, WindowListener, etc.)

Como se Aplica MVC

ElMVC

permitiendo independizar lalgicay la parte visual del sistema usando


para eso un controlador que administra los procesos sirviendo como puente
entre estos.

Como aplicar MVC correctamente

EJEMPLO MODELO

CODIGO MAURICIO

EJEMPLO VISTA

CODIGO MAURICIO

EJEMPLO CONTROLADOR

CODIGO MAURICIO

Bibliografa
Tecnologas Informticas para la Web.

http://www.lab.inf.uc3m.es/~a0080802/RAI/mvc.html

Servicios Informticos ASP.Net

Servicio de InformticaASP.NET MVC 3 Framework

Conclusin
MVC es un patrn de diseo enfocado a separar las responsabilidades
dentro de nuestra aplicacin y es muy utilizado en la web por su enfoque y
las ventajas que ofrece con respecto aalgunas otras formas o patrones de
desarrollo de aplicaciones web. Puedes encontrar frameworks
prcticamente para cualquier lenguaje web, por ejemplo:

ASP.NET MVC (C# , VBasic)

Laravel (PHP)

django (Python)

Ruby on Rails

Você também pode gostar