mvc diapositivas

17
Modelo-Vista- Controlador INTEGRANTES: -MORY MORI, RUTH E. -ESPINOZA CONDOR, IVAN

Upload: ivan-ec

Post on 17-Sep-2015

124 views

Category:

Documents


7 download

DESCRIPTION

,,,

TRANSCRIPT

  • Modelo-Vista-ControladorINTEGRANTES:-MORY MORI, RUTH E.-ESPINOZA CONDOR, IVAN

    *

    Modelo-Vista-Controlador

    MVC es una propuesta de diseo de software utilizada para implementar sistemas donde se requiere el uso de interfaces de usuario. Surge de la necesidad de crear software ms robusto con un ciclo de vida ms adecuado, donde se potencie la facilidad de mantenimiento, reutilizacin del cdigo y la separacin de conceptos.Este patrn fue descrito por primera vez por Trygve Reenskaug en 1979, y la implementacin original fue realizada en Smalltalk en los laboratorios Xerox Palo Alto .

    MVC se basa en la separacin de la aplicacin en tres capas principales: Modelo, Vista y Controlador.

    Se usa (l o alguna de sus variantes) en la gran mayora de las interfaces de usuario.

    *

    Arquitectura y diseo: Patrn MVCEl patrn Modelo-Vista-Controlador se origin para implementar interfaces de usuario en los que las responsabilidades estn bien distribuidas entre distintas partes (componentes) del diseo.

    As, se decidi, distinguir tres responsabilidades distintas:Lgica de negocio Modelo.Gestin de eventos de usuario Controlador.Presentacin Vista.

    *

    Patrn MVC - El modeloEl modelo es la porcin que implementa la Lgica del Negocio.

    Se le suele llamar el modelo porque representa objetos y sus interacciones del mundo real.

    El modelo es otra forma de llamar a la capa de dominio.

    La lgica de dominio aade significado a los datos; por ejemplo, calculando si hoy es el cumpleaos del usuario o los totales, impuestos o portes en un carrito de la compra.Encapsular el modelo de una aplicacin en componentes facilita la depuracin, mejora la calidad y favorece la reutilizacin de cdigo.

    *

    Patrn MVC - El modeloPuede dividirse en dos tipos de componentes:De estado.De accin.

    Los componentes de estado encapsulan el estado de la aplicacin y exponen mtodos para el acceso y cambio de ste.

    Al estar una capa por debajo de la capa de accin, los componentes de estado deben ser completamente independientes del protocolo. As, podrn ser reutilizados en otro tipo de aplicaciones (RMI, etc).

    *

    Patrn MVC - El modeloLa capa de componentes de accin define los cambios permisibles del estado en respuesta a los eventos.

    Los componentes de accin no pueden ser completamente independientes del protocolo, pero, an as, se debe intentar reducir el acoplamiento al mximo o incluso construir dos subcapas, una dependiente del protocolo que transforme los eventos y delegue el procesamiento a otra capa de componentes de accin independientes del protocolo.

    *

    Patrn MVC - El controladorEl controlador es responsable de recibir los eventos, determinar el procesador del evento, invocar al procesador y finalmente provocar la generacin de la vista apropiada.El controlador es el corazn de la aplicacin MVC. Este componente es el objeto que debera estar pendiente de las solicitudes HTTP hechas por el usuario.El controlador generalmente crea instancias de los modelos y utiliza mtodos de esos modelos para conseguir los datos que se presentan a los usuarios, envindolos a la vista correspondiente.

    En una aplicacin web java la tecnologa ms adecuada para implementar los controladores son los Servlets.

    Estos servlets actan como direccionadores (dispatchers) de las peticiones.

    *

    Patrn MVC - El controladorEl controlador responde a eventos, usualmente acciones del usuario e invoca cambios en el modelo y probablemente en la vista.Los controladores deben realizar las siguientes tareas:Control de la seguridad.Identificacin de eventos.Preparar el modelo.Procesar el evento.Manejar los errores.Provocar la generacin de la respuesta.

    *

    Patrn MVC - La vistaLa vista representa la lgica de presentacin de la aplicacin.

    Los componentes de la vista extraen el estado actual del sistema del modelo y proporcionan la interfaz de usuario para el protocolo que se est usando.Como parte de la generacin la vista debe presentar al usuario el conjunto de eventos que puede generar en ese momento concreto.La Vista est formada por el conjunto de objetos que manejan 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.

    Separar el modelo y la vista permite la construccin de interfaces con diferentes apariencias.

    *

    *

    FUNCIONAMIENTO DEL MVC

    *

    *Ejemplo: (Contexto)En el Modelo de Requisitos se obtuvo el siguiente Diagrama de Casos de Uso del Sistema:Aplicacin de Ejemplo de MVC

    Sistema

    Agregar Estudiante

    Ver Estudiantes

    Administrador

    *

    *Patrn MVCIgualmente en el Modelo de Requisitos se obtuvo el siguiente Modelo de Objetos del Dominio:

    *

    *Patrn MVCEn el Modelo de Anlisis se identificaron los siguientes objetos:

    ControladorAgregar

    ControladorVer

    Estudiante

    Escuela

    AgregarEstudiante

    VerEstudiantes

    VentanaPrincipal

    *

    *Patrn MVCFinalmente, en el Modelo de Diseo se aplica el patrn Modelo Vista Controlador de la siguiente manera:

    View

    Control

    Model

    Administrador

    *

    *Patrn MVC

    ControladorPrincipal

    +agregarEstudiante()

    ControladorAgregar

    +buscarEstudiantes()

    ControladorVer

    VentanaPrincipal

    AgregarEstudiante

    VerEstudiantes

    +getCodigo()+setCodigo()+getNombreEscuela()+setNombreEscuela()+getEstudiantes()+setEstudiantes()+agregarEstudiante()

    -codigo-nombreEscuela

    Escuela

    +getNombre()+setNombre()+getApellido()+setApellido()+getCedula()+setCedula()+getSexo()+setSexo()+getEscuela()+setEscuela()

    -nombre-apellido-cedula-sexo

    Estudiante

    ventAgregar

    ventVer

    controlAgregar

    controlVer

    estudiantes

    escuela

    *

    View

    Control

    Model

    *

    EJEMPLO DE MVC

    *****