15

Click here to load reader

Patron de Desarrollo Modelo Vista Controlador

Embed Size (px)

DESCRIPTION

Patron de Diseño MVC

Citation preview

Page 1: Patron de Desarrollo Modelo Vista Controlador

Integrantes:

Pedro Hernández Lugo

Henry Vargas Martínez

Page 2: Patron de Desarrollo Modelo Vista Controlador

El modelo–vista–controlador (MVC) es un patrón de arquitectura de software.

Page 3: Patron de Desarrollo Modelo Vista Controlador

MVC separa los componentes de la aplicación en 3 capas:

Capa de interfaz (Vista)

Capa Lógica (Controlador)

Capa de Datos (Modelo).

Page 4: Patron de Desarrollo Modelo Vista Controlador

La idea básica de MVC es:

Separar el código, de tal manera que sinecesitamos hacer un cambio en la base dedatos, esto no afecte a la lógica delprograma.

La función del controlador es solo controlar lainteracción entre ambas capas.

Page 5: Patron de Desarrollo Modelo Vista Controlador

El Modelo: Todo lo relacionado conla extracción de datos, ya sea a un archivo detexto, una base de datos etc.

En este modelo el patrón mas usado es DAO(Data Access Object) u Objeto de Acceso aDatos.

Page 6: Patron de Desarrollo Modelo Vista Controlador

DAO encapsula el acceso a la base de Datos.

Cuando el controlador necesite interactuar conla base de datos lo hace a través de la API queofrece DAO.

Generalmente esta API consiste en métodosCRUD (Create, Read, Update y Delete).

Page 7: Patron de Desarrollo Modelo Vista Controlador

Algunos de los lenguajes mas populares quesoportan DAO son:

Java

Microsoft .NET

Python

PHP

Page 8: Patron de Desarrollo Modelo Vista Controlador

MODELO.

Otro Minipatron que se utiliza en la capa del modelo es el VO (Value Object)

VO Consiste simplemente en agrupar varios

atributos dentro de un objeto para enviarlo yrecibirlo con mayor comodidad/seguridad.

Algo parecido a una estructura de Datos.

Por lo general se utilizan métodos SET y GET

Page 9: Patron de Desarrollo Modelo Vista Controlador

LA VISTA

La parte donde se interacciona con el usuario.

Se especifican cosas como posición de datos, y como se desplegaran.

Es la interfaz del usuario

Page 10: Patron de Desarrollo Modelo Vista Controlador

LA VISTA

Tipos de Interfaz:

1. Interfaz de Escritorio:

Se puede visualizar diferentes tipos deinformación simultáneamente.

Se realizan tareas de control y de dialogo enforma sencilla.

La utilización de menús desplegables, botones y técnicas de presentación que reducen el manejo del teclado.

Page 11: Patron de Desarrollo Modelo Vista Controlador

LA VISTA

Tipos de Interfaz:

2. Interfaz Web:

Es la que utiliza un navegador web para comunicarse con un servidor http para visualizar el contenido o la pagina web.

Une los atributos de la interfaz de escritorio y agrega hipertexto y la multitarea (varias tareas simultáneamente).

Page 12: Patron de Desarrollo Modelo Vista Controlador

LA VISTA

Tipos de Interfaz:

3. Interfaz Móvil:

Es la que se utiliza en dispositivos móviles:

Celulares smartphone

Tabletas

Utilizan pantalla táctil, "Touch Screen“.

Multimedia: reproductor de música comprimida, reproductor de videos comprimidos, cámara fotográfica, cámara de video, radio FM y señal de TV.

Page 13: Patron de Desarrollo Modelo Vista Controlador

EL CONTROLADOR

Es el intermediario entre la vista y el modelo.

Gestiona el flujo de información entre ellos ylas transformaciones para adaptar los datos alas necesidades de cada uno.

Recibe los eventos de entrada (un clic, uncambio en un campo de texto, etc.).

Delega la búsqueda de datos al modelo yselecciona el tipo de respuesta más adecuadosegún las preferencias del cliente.

Page 14: Patron de Desarrollo Modelo Vista Controlador

Esquema Modelo Vista Controlador Aplicación Web

Page 15: Patron de Desarrollo Modelo Vista Controlador

Ya hoy día existen Frameworks (Módulos desoftware concretos que sirven de base para laorganización y desarrollo de software), queimplementan este patrón de desarrollo los masdestacados son:

Grails –> Java

Spring MVC –> Java

ExtJs –> JavaScript

Symfony –> PHP

Yii–> PHP

Web2Py –> Python (este utiliza google)

Django –> Python