MVC (Model View Controller)



twitter: @trukuxzo
MVC (Model View Controller)
                                                       Maneja el comportamiento
                                                        y los datos del dominio de
Es un patrón de arquitectura                           la aplicación
de software que separa los
datos de una aplicación, la
                                               Model
interfaz de usuario y la
lógica de negocio en tres
componentes distintos o
capas conceptuales.
            Recibe datos del modelo     View
            y los muestra al usuario.                         Controller




                                               Recibe la entrada del usuario e
                                               inicia una respuesta haciendo
                                               llamadas a los objetos del modelo.
MVC (Model View Controller)...
• Originalmente fue implementado como un mapa tradicional
  de ingreso:
   – Ingreso de datos -> Proceso -> Salida de datos
   – Controlador      -> Modelo -> Vista

• No define exactamente las 3 capas clásicas de las
  arquitecturas 3-tier: Presentación, lógica de negocios y
  datos.

• En su lugar, define las responsabilidades y las dependencias
  dependiendo de los objetivos que representa en tres
  paradigmas: Modelo, Vista y Controlador.

• El patrón MVC se ve frecuentemente en aplicaciones web.
MVC - Model                                 Model



• Los objetos de modelo son las partes de la aplicación que
  implementan la lógica del dominio de datos de la aplicación.

• Representa a toda la información con la que opera la aplicación.

• Gestiona el comportamiento y los datos del dominio.

• Responde a las peticiones de información sobre el estado, que
  vienen de la Vista.

• Responde a instrucciones de cambio de estado, provenientes del
  Controlador.

• Interactúa con los repositorios (base de datos).
MVC - View                       View




• Las vistas son los componentes que muestra la
  interfaz de usuario de la aplicación.

• La vista gestiona la presentación de la información
  de la aplicación. Todo lo relativo a la interfaz de
  usuario, los datos de que dispone para seguir
  interactuando con la aplicación.

• Desde la interfaz gráfica a los estímulos que recibe
  del usuario, visual, auditiva o sensitivamente.
MVC - Controller                     Controller




• El controlador administra y responde a los datos
  proporcionados por el usuario y su interacción.

• Respuesta a eventos invocados desde la vista.

• Llama a la lógica de negocio para procesar y
  producir una respuesta.

• Interpreta las entradas del usuario, informando al
  modelo y/o a la vista de los cambios que supongan
  esas entradas.
Interacción MVC
Petición                  Proceso
            Controller                 Model




                         Interacción
                         View-Model



Respuesta        View
Ventajas
• Separa la manipulación de datos, la representación y el
  control de eventos, permitiendo un código mantenible.

• Decrementa la duplicación de código.

• Centraliza el control de datos.

• Facilita el mantenimiento y modificación de la aplicación.

• Ayuda a equipos de desarrollo en centrarse en áreas
  especificas.

• Mayor facilidad para añadir fuentes de datos y tipos de
  clientes.
Fin

MVC - (Spanish)

  • 1.
    MVC (Model ViewController) twitter: @trukuxzo
  • 2.
    MVC (Model ViewController) Maneja el comportamiento y los datos del dominio de Es un patrón de arquitectura la aplicación de software que separa los datos de una aplicación, la Model interfaz de usuario y la lógica de negocio en tres componentes distintos o capas conceptuales. Recibe datos del modelo View y los muestra al usuario. Controller Recibe la entrada del usuario e inicia una respuesta haciendo llamadas a los objetos del modelo.
  • 3.
    MVC (Model ViewController)... • Originalmente fue implementado como un mapa tradicional de ingreso: – Ingreso de datos -> Proceso -> Salida de datos – Controlador -> Modelo -> Vista • No define exactamente las 3 capas clásicas de las arquitecturas 3-tier: Presentación, lógica de negocios y datos. • En su lugar, define las responsabilidades y las dependencias dependiendo de los objetivos que representa en tres paradigmas: Modelo, Vista y Controlador. • El patrón MVC se ve frecuentemente en aplicaciones web.
  • 4.
    MVC - Model Model • Los objetos de modelo son las partes de la aplicación que implementan la lógica del dominio de datos de la aplicación. • Representa a toda la información con la que opera la aplicación. • Gestiona el comportamiento y los datos del dominio. • Responde a las peticiones de información sobre el estado, que vienen de la Vista. • Responde a instrucciones de cambio de estado, provenientes del Controlador. • Interactúa con los repositorios (base de datos).
  • 5.
    MVC - View View • Las vistas son los componentes que muestra la interfaz de usuario de la aplicación. • La vista gestiona la presentación de la información de la aplicación. Todo lo relativo a la interfaz de usuario, los datos de que dispone para seguir interactuando con la aplicación. • Desde la interfaz gráfica a los estímulos que recibe del usuario, visual, auditiva o sensitivamente.
  • 6.
    MVC - Controller Controller • El controlador administra y responde a los datos proporcionados por el usuario y su interacción. • Respuesta a eventos invocados desde la vista. • Llama a la lógica de negocio para procesar y producir una respuesta. • Interpreta las entradas del usuario, informando al modelo y/o a la vista de los cambios que supongan esas entradas.
  • 7.
    Interacción MVC Petición Proceso Controller Model Interacción View-Model Respuesta View
  • 8.
    Ventajas • Separa lamanipulación de datos, la representación y el control de eventos, permitiendo un código mantenible. • Decrementa la duplicación de código. • Centraliza el control de datos. • Facilita el mantenimiento y modificación de la aplicación. • Ayuda a equipos de desarrollo en centrarse en áreas especificas. • Mayor facilidad para añadir fuentes de datos y tipos de clientes.
  • 9.

Notas del editor

  • #3 Modelos. Los objetos de modelo son las partes de la aplicación que implementan la lógica del dominio de datos de la aplicación. A menudo, los objetos de modelo recuperan y almacenan el estado del modelo en una base de datos. Por ejemplo, un objeto Product podría recuperar información de una base de datos, trabajar con ella y, a continuación, escribir la información actualizada en una tabla Productos de una base de datos de SQL Server. En las aplicaciones pequeñas, el modelo es a menudo una separación conceptual en lugar de física. Por ejemplo, si la aplicación solo lee un conjunto de datos y lo envía a la vista, la aplicación no tiene un nivel de modelo físico y las clases asociadas. En ese caso, el conjunto de datos asume el rol de un objeto de modelo.Vistas. Las vistas son los componentes que muestra la interfaz de usuario de la aplicación. Normalmente, esta interfaz de usuario se crea a partir de los datos de modelo. Un ejemplo sería una vista de edición de una tabla Productos que muestra cuadros de texto, listas desplegables y casillas basándose en el estado actual de un objeto Product.Controladores. Los controladores son los componentes que controlan la interacción del usuario, trabajan con el modelo y por último seleccionan una vista para representar la interfaz de usuario. En una aplicación MVC, la vista solo muestra información; el controlador administra y responde a los datos proporcionados por el usuario y su interacción. Por ejemplo, el controlador administra los valores de la cadena de consulta y pasa estos valores al modelo, que a su vez podría utilizarlos para consultar la base de datos.