Mvc framework

Основні компоненти ASP.NET MVC

Платформа ASP.NET MVC базується на взаємодії трьох компонентів: контролера, моделі та подання. Контролер приймає запити, обробляє користувача введення, взаємодіє з моделлю і представленням і повертає користувачеві результат обробки запиту.

Модель представляє шар, що описує логіку організації даних в додатку. Подання отримує дані з контролера і генерує елементи призначеного для користувача інтерфейсу для відображення інформації.

Для управління розміткою і вставками коду в поданні використовується движок уявлень. До версії MVC 5 використовувалися два движка:

Web Forms і Razor. Починаючи з MVC 5 єдиним двигуном, вбудованим за замовчуванням, є Razor. Движок WebForms використовує файли .aspx, а Razor - файли .cshtml і .vbhtml для зберігання коду уявлень. Основою синтаксису Razor є знак @, після якого здійснюється перехід до коду на мовах C # / VB.NET [26]. Також можливо і використання сторонніх движків. Файли уявлень не є стандартними статичними сторінками з кодом html, а в процесі генерації контролером відповіді з використанням уявлень компілюються в класи, з яких потім генерується сторінка html.

При обробці запитів фреймворк ASP.NET MVC спирається на систему маршрутизації, яка зіставляє всі вхідні запити з певними в системі маршрутами, які вказують який контролер і метод повинен обробити такий запит. Вбудований маршрут за умовчанням передбачає триланкову структуру: контролер / дію / параметр.

ASP.NET MVC і ASP.NET Web Forms

ASP.NET MVC і ASP.NET Web Forms є двома спорідненими технологіями, в основі яких лежить одна платформа ASP.NET. І все ж ASP.NET MVC має ряд переваг перед ASP.NET Web Forms [27]:

  • поділ відповідальності (окрема розробка різних компонентів - контролера, моделей, уявлень)
  • поліпшена тестованих
  • відповідність протоколу HTTP (ASP.NET MVC не підтримує об'єкт ViewState)
  • підвищена гнучкість і зручні налаштування під власні потреби