ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Metodologia MVC


Enviado por   •  3 de Abril de 2014  •  1.344 Palabras (6 Páginas)  •  373 Visitas

Página 1 de 6

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

Juan Pavón Mestras

Facultad de Informática UCM, 2008-09 Programación Orientada a Objetos 2

El patrón MVC

 MVC: Modelo-Vista-Controlador

 Es un patrón de arquitectura de las aplicaciones software

 Separa la 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 3

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 4

El patrón 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 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 5

El patrón MVC

 Flujo de control

1. El usuario realiza una acción en la interfaz

2. El controlador trata el evento de entrada

 Previamente se ha registrado

3. 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)

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 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 6

MVC en aplicaciones web

 Vista:

 la página HTML

 Controlador:

 código que obtiene datos dinámicamente y genera el

contenido HTML

 Modelo:

 la informació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 7

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

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 8

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 Programación Orientada a Objetos 9

Calculadora Euros-Pesetas

Modelo

Vista

Control

Juan Pavón Mestras

Facultad de Informática UCM, 2008-09 Programación Orientada a Objetos 10

El modelo (1/2)

public class ConversorEuros {

private double cambio;

public ConversorEuros ( double valorCambio ) {

// valor en la moneda de 1 euro

cambio = valorCambio;

}

public double eurosAmoneda (double cantidad) {

return cantidad * cambio;

}

public double monedaAeuros (double cantidad) {

return cantidad / cambio;

}

}

Juan Pavón Mestras

Facultad de Informática UCM, 2008-09 Programación Orientada a Objetos 11

El modelo (2/2)

public class ConversorEurosPesetas extends ConversorEuros

{ // Adaptador de clase

public ConversorEurosPesetas () {

super(166.386D);

}

public double eurosApesetas(double cantidad) {

return eurosAmoneda(cantidad);

}

public double pesetasAeuros(double cantidad) {

return monedaAeuros(cantidad);

}

}

Juan Pavón Mestras

Facultad de Informática UCM, 2008-09 Programación Orientada a Objetos 12

El modelo (3/2)

public class ConversorEurosPesetas

{ // Adaptador de objetos

private ConversorEuros conversor;

public ConversorEurosPesetas () {

Conversor = new ConversorEuros(166.386D);

}

public double eurosApesetas(double cantidad) {

return conversor.eurosAmoneda(cantidad);

}

public double pesetasAeuros(double cantidad) {

return conversor.monedaAeuros(cantidad);

}

}

Juan Pavón Mestras

Facultad de Informática UCM, 2008-09 Programación Orientada a Objetos 13

La Vista (1/4)

 Definimos una interfaz con las operaciones que el control

puede necesitar para manipularla

public interface InterfazVista {

void setControlador(ControlConversor c);

...

Descargar como (para miembros actualizados) txt (13 Kb)
Leer 5 páginas más »
Disponible sólo en Clubensayos.com