cursos mvc. Creando un motor en MVC

Perfil de la audiencia:

  • El curso está diseñado para desarrolladores web profesionales que usan Microsoft Visual Studio individualmente o en equipo, en organizaciones grandes o pequeñas.

requisitos previos:

  • 2-3 años de experiencia en desarrollo de aplicaciones web utilizando Microsoft Visual Studio y Microsoft ASP.NET;
  • experiencia práctica con .NET Framework;
  • Conocimientos básicos del lenguaje de programación C#.

Al finalizar el curso, los estudiantes serán capaces de:

  • Describir las tecnologías web de Microsoft y seleccionar la herramienta adecuada para la tarea en cuestión;
  • diseñar la arquitectura e implementación de una aplicación web que satisfaga un conjunto de requisitos funcionales, requisitos de interfaz de usuario y modelo de negocio;
  • crear un modelo MVC y escribir código que implemente la lógica comercial de la aplicación y trabaje con datos;
  • agregue controladores a las aplicaciones MVC para administrar la interacción del usuario, actualizar el modelo y proporcionar interacción con las vistas;
  • crear vistas MVC que le permitan mostrar y editar datos e interactuar con modelos y controladores;
  • ejecutar pruebas unitarias y herramientas de depuración para aplicaciones web en Visual Studio 2012 y configurar aplicaciones para la resolución de problemas;
  • desarrollar aplicaciones web que utilicen enrutamiento ASP.NET para proporcionar direcciones URL amigables y navegación lógica para los usuarios;
  • garantizar una apariencia uniforme de las páginas del sitio, incluida la marca corporativa, en toda una aplicación web de MVC;
  • use la actualización parcial de la página y el almacenamiento en caché para reducir la carga de la red creada por la aplicación y reducir el tiempo de respuesta a las acciones del usuario;
  • escribir código JavaScript que se ejecute en el lado del cliente y utilice la biblioteca de secuencias de comandos jQuery para optimizar la interacción de las aplicaciones web MVC con el usuario;
  • crear aplicaciones MVC resistentes a ataques maliciosos y guardar información sobre la configuración del usuario;
  • comprender cómo escribir un servicio web de Windows Azure y acceder a él desde una aplicación MVC;
  • describir qué es una API web y por qué los desarrolladores pueden agregarla a una aplicación;
  • cambiar la forma en que la aplicación MVC maneja las solicitudes del navegador;
  • describir cómo empaquetar e implementar una aplicación web ASP.NET MVC 5 desde una máquina de desarrollo a un servidor web;
  • desarrollo de aplicaciones web utilizando ASP.NET MVC 5;
  • desarrollo de Modelos ASP.NET MVC 5;
  • desarrollo de Controladores ASP.NET MVC 5;
  • desarrollo de vistas ASP.NET MVC 5;
  • cómo probar y depurar aplicaciones web ASP.NET MVC 5;
  • estructuración de aplicaciones web ASP.NET MVC 5;
  • característica de aplicar estilos a las aplicaciones web ASP.NET MVC 5;
  • mecanismo para construir páginas receptivas en ASP.NET MVC 5;
  • la peculiaridad de usar JavaScript y jQuery para crear aplicaciones web MVC 5 receptivas;
  • principios de control de acceso a aplicaciones web ASP.NET MVC 5;
  • cómo construir aplicaciones web robustas ASP.NET MVC 5;
  • implementación de Web APIs en aplicaciones web ASP.NET MVC 5;
  • procesamiento de solicitudes en aplicaciones web ASP.NET MVC 5;
  • principios para implementar aplicaciones web ASP.NET MVC 5.
La estructura del programa en el ejemplo del programa más simple.

MVC ASP .NET para tontos. Lección 1 . Programa "¡Hola, Mundo!"

El código fuente de la lección se puede descargar.

Aprenderemos MVC desde los conceptos básicos. Para empezar, vamos a crear una aplicación simple "¡Hola, mundo!" Y así, horneamos Microsoft Visual Studio 2010 (puede ejecutar otro, entonces las imágenes pueden no ser las mismas que se muestran en las capturas de pantalla). Vaya a "Archivo" -> "Nuevo" -> "Proyecto":

Seleccione el tipo de proyecto "Visual C#" -> "Aplicación web ASP.NET MVC 2":

Después de hacer clic en el botón "Aceptar", Visual Studio creará una plantilla de programa:

Eliminemos todo lo innecesario:

  • Carpeta App_Data.
  • Eliminar AccountController.cs de la carpeta Controladores
  • Desde la carpeta Ver, la carpeta Cuenta.
  • La carpeta Ver contiene las carpetas Inicio y Compartido. Eliminemos todo el contenido de estas carpetas. Dejemos las carpetas.

Así es como se verá nuestro árbol ahora:

Ahora eliminamos todo lo innecesario del código del programa, en particular, el método About():

Y aquí está el método Index, lo reescribiremos un poco. En particular, haremos que su tipo sea una cadena y cambiaremos el cuerpo del método en sí. Así es como se verá todo el programa HomeController.cs después de eso:

utilizando el sistema;

usando System.Collections.Generic;

utilizando System.Linq;

utilizando System.Web;

utilizando System.Web.Mvc;

espacio de nombres MvcApplication2.Controllers

clase pública HomeController: Controlador

índice de cadena pública ()

volver "¡Hola mundo!" ;

Y esto es lo que producirá el programa cuando lo compilemos y lo ejecutemos.

Desarrollo de aplicaciones web ASP.NET Core MVC

¡El curso se lee de acuerdo con la última versión!

Durante el curso, aprenderá a crear aplicaciones web utilizando ASP.NET Core MVC de .NET Framework. Obtendrá conocimientos y habilidades que le permitirán mejorar significativamente el rendimiento y la escalabilidad de sus aplicaciones web. Durante el curso, comparará las tecnologías ASP.NET CORE MVC y ASP.NET Web Forms y obtendrá recomendaciones para elegir una u otra tecnología.

El curso se calcula para desarrolladores web profesionales con experiencia en la creación de aplicaciones con Visual Studio.

Para tomar este curso, necesita una acceso a la cuentamicrosoft azure. Tenga en cuenta que puede tomar hasta 48 horas obtener un nuevo acceso. Si no tiene acceso, informe a su gerente cuando se registre para la capacitación. En este caso, le proporcionaremos una versión de prueba: Windows Azure Pass de 30 días.

¿Necesita práctica mejorada? ¿Preparándose para los exámenes de certificación de Microsoft? Obtener acceso a Laboratorios en línea– laboratorios virtuales en cursos autorizados de Microsoft – durante todo el curso y dos semanas después de la graduación! El servicio es único y está disponible únicamente en el Centro "Especialista"

El concepto de MVC (Model-View-Controller) se ha mencionado mucho en el mundo de la programación web en los últimos años. Todo aquel que está relacionado de alguna forma con el desarrollo de aplicaciones web, de una forma u otra, se ha topado con este acrónimo. Hoy entenderemos qué es el concepto MVC y por qué se ha vuelto popular.

historia antigua

MVC no es un patrón de diseño, es un patrón de diseño que describe la forma en que se estructura nuestra aplicación, las responsabilidades y la interacción de cada una de las partes en esta estructura.

Se describió por primera vez en 1979, por supuesto, para un entorno diferente. Entonces no existía el concepto de una aplicación web. Tim Berners Lee plantó las semillas de la World Wide Web (WWW) a principios de los noventa y cambió el mundo para siempre. La plantilla que usamos hoy es una adaptación de la plantilla original para el desarrollo web.

La frenética popularidad de este framework en aplicaciones web se ha desarrollado debido a su inclusión en dos entornos de desarrollo que se han vuelto muy populares: Struts y Ruby on Rails. Estos dos entornos de desarrollo trazaron los caminos para cientos de entornos de producción creados posteriormente.

MVC para aplicaciones web

La idea detrás del patrón de diseño MVC es muy simple: necesitamos separar claramente la responsabilidad de los diferentes comportamientos en nuestras aplicaciones:

La aplicación se divide en tres componentes principales, cada uno de los cuales es responsable de diferentes tareas. Echemos un vistazo a los componentes en detalle con un ejemplo.

Controlador

Controlador administra las solicitudes de los usuarios (recibidas como solicitudes HTTP GET o POST cuando el usuario hace clic en los elementos de la interfaz para realizar varias acciones). Su función principal es llamar y coordinar los recursos y objetos necesarios para realizar acciones definidas por el usuario. Normalmente, el controlador llama al modelo adecuado para la tarea y selecciona la vista adecuada.

Modelo

Modelo son los datos y las reglas que se utilizan para trabajar con los datos que representan el concepto de gestión de aplicaciones. En cualquier aplicación, toda la estructura se modela como datos que se procesan de cierta manera. ¿Qué es un usuario para una aplicación, un mensaje o un libro? Solo los datos que deben procesarse de acuerdo con las reglas (la fecha no puede ser futura, el correo electrónico debe tener un formato determinado, el nombre no puede tener más de X caracteres, etc.).

El modelo le da al controlador una representación de los datos que el usuario ha solicitado (mensaje, página del libro, álbum de fotos, etc.). El modelo de datos será el mismo sin importar cómo queramos presentarlo al usuario. Por lo tanto, elegimos cualquier vista disponible para mostrar los datos.

El modelo contiene la parte más importante de nuestra lógica de aplicación, la lógica que resuelve el problema que estamos tratando (foro, tienda, banco, etc.). El controlador contiene principalmente lógica organizativa para la aplicación en sí (muy parecida a la limpieza).

Vista

Vista proporciona varias formas de representar los datos que se reciben del modelo. Puede ser una plantilla llena de datos. Puede haber varias vistas diferentes, y el controlador elige cuál se adapta mejor a la situación actual.

Una aplicación web generalmente consta de un conjunto de controladores, modelos y vistas. Un controlador se puede configurar como un controlador maestro que recibe todas las solicitudes y llama a otros controladores para realizar acciones según la situación.

Tomemos un ejemplo

Supongamos que necesitamos desarrollar una librería en línea. El usuario puede realizar las siguientes acciones: ver libros, registrarse, comprar, agregar artículos al pedido actual, crear o eliminar libros (si es administrador). Veamos qué sucede cuando el usuario hace clic en una categoría fantasía para ver los títulos de los libros que están disponibles en nuestra tienda.

Tenemos un controlador específico para manejar todas las acciones relacionadas con los libros (ver, editar, crear, etc.). llamémoslo libros_controlador.php en nuestro ejemplo. También necesitamos un modelo, por ejemplo, libro_modelo.php que maneja los datos y la lógica asociados con el elemento de la tienda. Finalmente, necesitamos varias vistas para representar los datos, como una lista de libros, una página de edición, etc.

La siguiente figura muestra cómo se maneja la solicitud de un usuario para ver una lista de libros relacionados. fantasía:

El controlador (books_controller.php) recibe la solicitud del usuario (una solicitud HTTP GET o POST). Podemos configurar un controlador central como index.php que recibe la solicitud y llama a books_controller.php.

El controlador verifica la solicitud y los parámetros y luego llama al modelo (book_model.php), preguntando ella tiene una lista de libros disponibles sobre el tema fantasía .

El modelo obtiene los datos de la base de datos (o de otra fuente que almacene información), aplica los filtros y la lógica necesaria y luego devuelve los datos que representan la lista de libros.

El controlador utiliza la vista adecuada para presentar los datos al usuario. Si la solicitud proviene de un teléfono móvil, se utiliza la vista móvil; si el usuario utiliza un determinado diseño de interfaz, se selecciona la vista adecuada, y así sucesivamente.

¿Cuales son los beneficios?

La ventaja más obvia que obtenemos al usar el concepto MVC es una clara separación de la lógica de presentación (interfaz de usuario) y la lógica de la aplicación.

El soporte para diferentes tipos de usuarios que usan diferentes tipos de dispositivos es un problema común en estos días. La interfaz proporcionada debe ser diferente si la solicitud proviene de una PC o un teléfono móvil. El modelo devuelve los mismos datos, la única diferencia es que el controlador elige diferentes vistas para mostrar los datos.

Además de aislar las vistas de la lógica de la aplicación, el concepto MVC reduce en gran medida la complejidad de las aplicaciones grandes. El código está mucho más estructurado, lo que facilita el mantenimiento, la prueba y la reutilización de soluciones.

¿Por qué usar un banco de trabajo?

Cuando usa un banco de trabajo, la estructura básica de MVC ya está en su lugar y todo lo que tiene que hacer es extender la estructura colocando sus archivos en los directorios apropiados para que coincidan con el patrón de MVC. Además, tendrá un conjunto de funciones que ya están escritas y bien probadas.

Tomemos cakePHP como ejemplo de un banco de trabajo MVC. Después de la instalación, tendrá tres directorios principales:

  • pastel/
  • vendedores/

Carpeta aplicación es la ubicación de sus archivos. Este es el lugar para desarrollar su parte de la aplicación.

en carpeta pastel aloja archivos cakePHP (funcionalidad de banco de trabajo).

Carpeta vendedores sirve para almacenar bibliotecas PHP de terceros.

Su espacio de trabajo (directorio de aplicaciones) tiene la siguiente estructura:

  • aplicación/
    • configuración/
    • controladores/
    • lugar/
    • modelos/
    • complementos/
    • pruebas/
    • vendedores/
    • puntos de vista/
    • webroot/

Necesita colocar sus controladores en un directorio controladores, modelos en directorio modelos y vistas en el directorio puntos de vista!

Tan pronto como comience a usar el banco de trabajo, queda inmediatamente claro dónde se encuentra casi cualquier parte de su aplicación que deba crearse o modificarse. Esta organización en sí misma simplifica enormemente el proceso de desarrollo y mantenimiento de una aplicación.

Usando el espacio de trabajo para nuestro ejemplo

Dado que esta lección no pretende mostrar cómo crear una aplicación con cakePHP, solo mostraremos el código para el modelo, el controlador y la vista, con comentarios sobre los beneficios de usar el banco de trabajo MVC. El código se simplifica deliberadamente y no es adecuado para su uso en una aplicación real.

Recuerde, estábamos mirando una librería y un usuario curioso que quería ver una lista completa de libros sobre el tema. fantasía. El controlador recibió la solicitud del usuario y coordinó las acciones necesarias.

Entonces, tan pronto como el usuario hace clic en el botón, el navegador solicita la URL dada:

www.ourstore.com/books/list/fantasy

Formato de URL de plantilla de CakePHP /controlador/acción/parámetro1/parámetro2, dónde acción es una función que es llamada por el controlador. En la forma clásica antigua, la URL se verá así:

www.ourstore.com/books_controller.php?action=list&category=fantasy

Controlador

En el espacio de trabajo de cakePHP, nuestro controlador se verá así:

clase BooksController extiende AppController(

Lista de funciones ($categoría) (

$this->set("libros", $this->Book->findAllByCategory($category));

función sumar() ( ... ... )

Función borrar() ( ... ... )

... ... } ?>

Sencillo, ¿verdad?. Este controlador se guardará como libros_controlador.php y colocado en /aplicación/controladores. Contiene una lista de funciones que realizan las acciones de nuestro ejemplo, así como otras funciones para realizar operaciones relacionadas con libros (agregar un nuevo libro, eliminar un libro, etc.).

El entorno de trabajo nos proporciona muchas soluciones listas para usar y solo necesitamos crear una lista de libros. Hay una clase base en la que la funcionalidad básica del controlador ya está definida, por lo que debe heredar las propiedades y funciones de esta clase ( controlador de aplicaciones es el heredero controlador).

Todo lo que necesita hacer en la lista de acciones es llamar al modelo para obtener los datos y luego seleccionar la vista para presentarla al usuario. Así es como se hace.

este->Libro es nuestro modelo, y parte del código:

$este->Libro->findAllByCategory($categoría)

le dice al modelo que devuelva una lista de libros sobre el tema seleccionado (veremos el modelo más adelante).

Método establecer en línea:

$this->set("libros", $this->Book->findAllByCategory($category));

El controlador pasa datos a la vista. Variable libros toma los datos devueltos por el modelo y los pone a disposición de la vista.

Lo único que queda por hacer ahora es mostrar la vista, pero esta función se realiza automáticamente en cakePHP si usamos la vista predeterminada. Si queremos usar una vista diferente, debemos llamar explícitamente al método prestar.

Modelo

El modelo es aún más simple:

libro de clase extiende AppModel(

¿Por qué está vacío? Porque hereda de una clase base que proporciona la funcionalidad requerida, y necesitamos usar la convención de nomenclatura de CakePHP para que el banco de trabajo realice todas las demás tareas automáticamente. Por ejemplo, cakePHP sabe por su nombre que este modelo se usa en LibrosControlador, y que tiene acceso a una tabla de base de datos llamada libros.

Con esta definición, tendremos un modelo que solo puede leer, eliminar o almacenar datos en la base de datos.

Guarda el código como libro.php en carpeta /aplicación/modelos.

Vista

Todo lo que tenemos que hacer ahora es crear una vista (al menos una) para la lista de acciones. La vista tendrá código HTML y unas pocas (las menos posibles) líneas de código PHP para recorrer la serie de libros proporcionados por el modelo.












Nombre Autor Precio

Como puede ver, la vista no crea una página completa, sino solo un fragmento de HTML (una tabla en este caso). Porque CakePHP proporciona otra forma de definir una plantilla de página y la vista se inserta en esa plantilla. El banco de trabajo también nos proporciona algunos objetos auxiliares para realizar tareas comunes al crear partes de una página HTML (insertar formularios, enlaces, Ajax o JavaScript).

Guardar la vista como lista.ctp(la lista es el nombre de la acción y ctp significa plantilla de CakePHP) en la carpeta /aplicación/vistas/libros(porque es una vista para una acción del controlador).

¡Así es como se ejecutan los tres componentes usando el banco de trabajo CakePHP!

¡Hola a todos! Hoy estoy escribiendo el primer artículo de una serie sobre cómo crear su propio Aplicaciones MVC.

Para empezar, vale la pena señalar que si alguien no sabe, que es mvc entonces lea este artículo primero: .

Entonces, ¿qué tendremos al final? Tendremos motor, creado usando patrón de diseño MVC. Este motor será muy simple, se omitirán los controles en alguna parte, pero todo esto se hace para que comprenda cómo crear aplicaciones en MVC, y luego, habiendo finalizado nuestro motor, puede usarlo para sus proyectos. Tendremos la funcionalidad básica:

  • autorización
  • pequeña charla
  • añadiendo artículos
  • edición de artículos
  • borrando artículos
  • Gestión de usuarios

Todo comienza con la estructura de carpetas. Lo tendremos así:

  • índice.php
  • .htaccess
  • controladores
  • modelos
  • puntos de vista
  • liberaciones

Creo que todo está claro aquí. en carpetas controladores, modelos, puntos de vista y liberaciones se mantendrá controladores, modelos, tipos y otros archivos. Durante el proceso de creación iremos añadiendo las carpetas y archivos que necesitemos.

Para crear nuestro motor se utilizará enfoque orientado a objetos. Si no lo conoce bien, también debe leer primero sobre este artículo en el sitio.

Entonces, aquí es donde termino el artículo introductorio, y en el próximo ya comenzaremos a crear motor en MVC. ¡Te veo luego!