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)
- підвищена гнучкість і зручні налаштування під власні потреби