mvc software

Páginas: 7 (1589 palabras) Publicado: 16 de julio de 2014
Estructura de las Aplicaciones Orientadas a Objetos

El patrón Modelo-Vista-Controlador (MVC)

Programación Orientada a Objetos
Facultad de Informática

Juan Pavón Mestras
Dep. Ingeniería del Software e Inteligencia Artificial
Universidad Complutense Madrid

El patrón MVC


MVC: Modelo-Vista-Controlador



Es un patrón de arquitectura de las aplicaciones software


Separala lógica de negocio de la interfaz de usuario
• Facilita la evolución por separado de ambos aspectos
• Incrementa reutilización y flexibilidad

Juan Pavón Mestras
Facultad de Informática UCM, 2008-09

Programación Orientada a Objetos

2

El patrón MVC


Historia


Descrito por primera vez en 1979 para Smalltalk
• http://heim.ifi.uio.no/~trygver/themes/mvc/mvc-index.html

Utilizado en múltiples frameworks
• Java Swing
• Java Enterprise Edition (J2EE)
• XForms (Formato XML estándar del W3C para la especificación
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 gráficas, inicialmente para el sistema X Window)
• ASP.NET MVC Framework (Microsoft)
•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)
• Etc., etc., etc.

Juan Pavón Mestras
Facultad de Informática UCM, 2008-09

Programación Orientada a Objetos

3

El patrón MVC


Modelo-Vista-Controlador



Un modelo
Varias vistas
Varioscontroladores



Las vistas y los controladores suelen estar muy relacionados




• Los controladores tratan los eventos que se producen en la
interfaz gráfica (vista)


Esta separación de aspectos de una aplicación da mucha
flexibilidad al desarrollador

Juan Pavón Mestras
Facultad de Informática UCM, 2008-09

Programación Orientada a Objetos

4

El patrón MVC


Flujo decontrol
1.
2.

El usuario realiza una acción en la interfaz
El controlador trata el evento de entrada
 Previamente se ha registrado

3.

4.

El controlador notifica al modelo la acción del usuario, lo que
puede implicar un cambio del estado del modelo (si no es
una mera consulta)
Se genera una nueva vista. La vista toma los datos del
modelo
 El modelo no tiene conocimiento directode la vista

5.

La interfaz de usuario espera otra interacción del usuario,
que comenzará otro nuevo ciclo

Juan Pavón Mestras
Facultad de Informática UCM, 2008-09

Programación Orientada a Objetos

5

MVC en aplicaciones web


Vista:




Controlador:




la página HTML
código que obtiene datos dinámicamente y genera el
contenido HTML

Modelo:



lainformación almacenada en una base de datos o en XML
junto con las reglas de negocio que transforman esa
información (teniendo en cuenta las acciones de los usuarios)

Juan Pavón Mestras
Facultad de Informática UCM, 2008-09

Programación Orientada a Objetos

6

MVC en Java Swing


Modelo:




Vista:




El modelo lo realiza el desarrollador
Conjunto de objetos de clasesque 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
anónimas) que implementan interfaces de tipo EventListener
(ActionListener, MouseListener, WindowListener, etc.)

Juan Pavón Mestras
Facultad de Informática UCM,2008-09

Programación Orientada a Objetos

7

Ejemplo: Calculadora de euros a pesetas


Una clase sencilla que da operaciones para calcular la
conversión entre euros y pesetas



En el constructor se indica el cambio
Métodos
• Calcular pesetas de una cantidad en euros
• Calcular euros de una cantidad en pesetas

Juan Pavón Mestras
Facultad de Informática UCM, 2008-09...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • MVC
  • MVC
  • mvc-JSP
  • mvc asp
  • Entityframework-Y-Mvc
  • Patron MVC
  • spring mvc
  • Modelo mvc

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS