Curso De Iniciación A ASP NET MVC4

Anuncio
Iniciación a MVC4
Contenido
1.
Qué significa MVC ..................................................................................................................................................... 3
2.
Componentes de la arquitectura MVC ..................................................................................................................... 3
3.
2.1.
Modelo .............................................................................................................................................................. 3
2.2.
Vista................................................................................................................................................................... 3
2.3.
Controlador ....................................................................................................................................................... 3
ASP.NET MVC ............................................................................................................................................................ 4
3.1.
Creación de un proyecto nuevo ........................................................................................................................ 4
3.2.
Estructura de un proyecto MVC........................................................................................................................ 6
1. Qué significa MVC
(M)odelo
(V)ista
(C)ontrolador
El Modelo Vista Controlador (MVC) es un patrón de arquitectura de software que separa los datos y
la lógica de negocio de una aplicación de la interfaz de usuario y el módulo encargado de gestionar los
eventos y las comunicaciones. Para ello MVC propone la construcción de tres componentes distintos que
son el modelo, la vista y el controlador, es decir, por un lado define componentes para la
representación de la información, y por otro lado para la interacción del usuario.
2. Componentes de la arquitectura MVC
2.1.
Modelo
Es la representación de la información con la cual el sistema opera, por lo tanto gestiona todos los
accesos a dicha información, tanto consultas como actualizaciones, implementando también los
privilegios de acceso que se hayan descrito en las especificaciones de la aplicación (lógica de negocio).
Envía a la 'vista' aquella parte de la información que en cada momento se le solicita para que sea
mostrada (típicamente a un usuario). Las peticiones de acceso o manipulación de información llegan al
'modelo' a través del 'controlador'.
Generalmente son clases que representan los datos de la aplicación y que contienen la lógica de negocio.
Es el único componente que debería poder manipular el almacén de datos (base de datos, XML, Json,
etc…).
2.2. Vista
Presenta el 'modelo' (información y lógica de negocio) en un formato adecuado para interactuar
(usualmente la interfaz de usuario) por tanto requiere de dicho 'modelo' la información que debe
representar como salida.
Son la representación gráfica de un modelo. En ella se introducen datos o se realizan acciones que se
comunicarán al controlador.
2.3. Controlador
Responde a eventos (usualmente acciones del usuario) e invoca peticiones al 'modelo' cuando se hace
alguna solicitud sobre la información (por ejemplo, editar un documento o un registro en una base de
datos). También puede enviar comandos a su 'vista' asociada si se solicita un cambio en la forma en que
se presenta de 'modelo' (por ejemplo, desplazamiento o scroll por un documento o por los diferentes
registros de una base de datos), por tanto se podría decir que el 'controlador' hace de intermediario
entre la 'vista' y el 'modelo'.
3. ASP.NET MVC
3.1. Creación de un proyecto nuevo




.NET Framework 4.52: esa es la versión de Framework que se utilizará en el proyecto. En función
de la versión elegida puede variar el tipo de proyectos disponibles. Una vez creado el proyecto se
puede cambiar de versión si la nueva versión es compatible con el tipo de proyecto.
Nombre: nombre del proyecto
Ubicación: directorio donde se creará la carpeta con el proyecto
Solución1: Crear nueva solución / Añadir a una solución
1
Una ‘Solución’ es un contenedor de proyectos. Si por ejemplo tuviésemos que hacer una aplicación con una versión
web y una versión de escritorio, podríamos hacer un proyecto para cada entorno e incluirlos dentro de la misma
solución.
2
El Framework es el que aporta la funcionalidad al lenguaje. Como norma general siempre deberíamos utilizar la
penúltima versión de Framework para que nuestro producto funcione en un mayor número de entornos.
Para que nuestro programa funcione, el entorno donde se ejecuta debe tener instalada la versión de Framework
requerida por el proyecto.
3.2. Estructura de un proyecto MVC












App_Data: contiene los diferentes almacenes de datos del proyecto (ficheros XML, ficheros Json, BBDD, etc)
App_Start: contiene clases que realizan procesos para inicializar el proyecto
Content: contiene los ficheros de estilo del proyecto (ficheros CSS, iconos, etc…)
o Carpeta no incluida en un proyecto básico
Controllers: contiene los controladores del proyecto
Filters: contiene atributos que se asocian a una acción de un controlador o a un controlador entero para
modificar la forma en que se ejecuta la acción (más adelante)
Images:
Models: contiene los modelos del proyecto
Scripts: contiene los ficheros Javascript del proyecto
Views: contiene las vistas y los “layouts” del proyecto
o Dentro de la carpeta Views habrá una carpeta por cada controlador del proyecto que tenga vistas
que contendrá las vistas de ese controlador
o La carpeta “Shared” no está relacionada con ningún controlador, en ella se guardan las vistas que se
usan desde más de un sitio y los “layouts”.
Global.asax: es el primer fichero que se ejecuta al arrancar el proyecto. Por lo general en él se realiza la
inicialización del proyecto cargando los datos necesarios para que el proyecto pueda arrancar. También es el
punto donde se debería llamar a las clases definidas en la carpeta App_Start.
Packages.config: en este fichero están recogidos los paquetes que está usando el proyecto
Web.config: fichero de configuración del proyecto (avanzado)
Descargar