ASP.NET MVC Framework

ASP.NET MVC Framework — фреймворк для создания веб-приложений, который реализует шаблон Model-View-Controller.

ASP.NET MVC Framework
Тип Веб-фреймворк
Разработчик Microsoft
Написана на C#
Операционная система Кроссплатформенное ПО
Последняя версия MVC 5.2.8 (12 апреля 2022)
MVC 6 1.0.0 (27 июня 2016)[1]
Репозиторий github.com/aspnet/AspNet…
github.com/dotnet/aspnet…
Состояние Активный
Лицензия Apache License
Сайт dotnet.microsoft.com/en-…

В апреле 2009 года исходный код ASP.NET MVC был опубликован под лицензией Microsoft Public License (MS-PL)[2]. 27 марта 2012 года лицензия была изменена на Apache License 2.0[3]

В настоящее время разрабатывается ASP.NET MVC 6, как часть ASP.NET Core; 27 июня 2016 года состоялся выход версии 1.0.0[4].

История версий править

Основные компоненты ASP.NET MVC править

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

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

Движок представлений править

Для управления разметкой и вставками кода в представлении используется движок представлений. До версии MVC 5 использовались два движка: Web Forms и Razor.

Начиная с MVC 5 единственным движком, встроенным по умолчанию, является Razor. Движок WebForms использует файлы .aspx, а Razor — файлы .cshtml и .vbhtml для хранения кода представлений. Основой синтаксиса Razor является знак @, после которого осуществляется переход к коду на языках C#/VB.NET[29]. Также возможно и использование сторонних движков. Файлы представлений не являются стандартными статическими страницами с кодом 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[30]:

  • разделение ответственности (отдельная разработка разных компонентов — контроллера, моделей, представлений)
  • улучшенная тестируемость
  • повышенная гибкость и настраиваемость под собственные нужды

Примечания править

  1. MVC Releases. Official Microsoft ASP.NET Site. Дата обращения: 25 июня 2016. Архивировано 29 июля 2017 года.
  2. Scott Guthrie. ASP.NET MVC 1.0 Source Released. Дата обращения: 2 апреля 2009. Архивировано из оригинала 26 марта 2012 года.
  3. ASP.NET MVC / Web API / Web Pages. Дата обращения: 29 марта 2012. Архивировано 8 июля 2017 года.
  4. ASP.NET Core 1.0 Schedule and Roadmap. Дата обращения: 25 июня 2016. Архивировано 22 февраля 2016 года.
  5. ASP.NET MVC Preview 4 Released — Shiju Varghese’s Blog. Retrieved from http://weblogs.asp.net/shijuvarghese/archive/2008/07/16/asp-net-mvc-preview-4-released.aspx Архивная копия от 27 мая 2009 на Wayback Machine
  6. ASP.NET MVC CodePlex Preview 5 Release Notes. Retrieved from http://www.codeplex.com/Release/ProjectReleases.aspx?ProjectName=aspnet&ReleaseId=16775 Архивная копия от 27 сентября 2011 на Wayback Machine.
  7. Microsoft Download Center (недоступная ссылка)
  8. http://go.microsoft.com/fwlink/?LinkID=141184&clcid=0x409
  9. Microsoft Download Center (недоступная ссылка)
  10. Download details: ASP.NET MVC 1.0 (недоступная ссылка)
  11. Microsoft Download Center (недоступная ссылка)
  12. Download details: ASP.NET MVC 2 Beta (недоступная ссылка)
  13. Download details: ASP.NET MVC 2 RC. Дата обращения: 20 апреля 2010. Архивировано 30 августа 2010 года.
  14. Download details: ASP.NET MVC 2 RC (недоступная ссылка)
  15. Download details: ASP.NET MVC 2 RTM. Дата обращения: 20 апреля 2010. Архивировано 5 сентября 2010 года.
  16. Download details: ASP.NET MVC 3 Preview 1. Дата обращения: 3 августа 2010. Архивировано 31 августа 2010 года.
  17. Download details: ASP.NET MVC 3 Beta. Дата обращения: 6 октября 2010. Архивировано 17 ноября 2010 года.
  18. Download details: ASP.NET MVC 3 Release Candidate. Дата обращения: 10 ноября 2010. Архивировано 30 апреля 2011 года.
  19. Download details: ASP.NET MVC 3 RC2. Дата обращения: 13 декабря 2010. Архивировано 25 декабря 2010 года.
  20. Download details: ASP.NET MVC 3 RTM. Дата обращения: 16 января 2011. Архивировано 4 июня 2011 года.
  21. Download details: ASP.NET MVC 4 Developer Preview (недоступная ссылка)
  22. Download details: ASP.NET MVC 4 Beta. Дата обращения: 27 февраля 2012. Архивировано 18 февраля 2012 года.
  23. Download details: ASP.NET MVC 4 RC. Дата обращения: 30 августа 2012. Архивировано 26 августа 2012 года.
  24. Download details: ASP.NET MVC 4. Дата обращения: 16 августа 2012. Архивировано 18 августа 2012 года.
  25. 1 2 3 4 aspnet/Mvc. GitHub. Дата обращения: 25 июня 2016. Архивировано 29 июля 2017 года.
  26. Announcing ASP.NET MVC 5.2.4, Web API 5.2.4, and Web Pages 3.2.4. Microsoft (12 февраля 2018). Дата обращения: 14 марта 2018. Архивировано 23 января 2019 года.
  27. Announcing ASP.NET MVC 5.2.5, Web API 5.2.5, and Web Pages 3.2.5. Microsoft (2 мая 2018). Дата обращения: 4 мая 2018. Архивировано 17 января 2019 года.
  28. 1 2 Microsoft ASP.NET MVC 5.2.2. NuGet. Дата обращения: 17 января 2015. Архивировано 21 января 2015 года.
  29. Движок представлений и Razor. Дата обращения: 28 мая 2014. Архивировано 12 июня 2014 года.
  30. ASP.NET MVC и ASP.NET WebForms. Дата обращения: 28 мая 2014. Архивировано 29 мая 2014 года.

Ссылки править

Литература править

  • Адам Фримен. ASP.NET MVC 5 с примерами на C# 5.0 для профессионалов, 5-е издание = Pro ASP.NET MVC 5. — М.: «Вильямс», 2014. — 736 с. — ISBN 978-5-8459-1911-3.
  • Джесс Чедвик, Тодд Снайдер, Хришикеш Панда. ASP.NET MVC 4: разработка реальных веб-приложений с помощью ASP.NET MVC = Programming ASP.NET MVC 4: Developing Real-World Web Applications with ASP.NET MVC. — М.: «Вильямс», 2013. — 432 с. — ISBN 978-5-8459-1841-3.
  • Магдануров Г., Юнев В. ASP.NET MVC Framework. — C.: «БХВ-Петербург», 2010. — С. 320. — ISBN 978-5-9775-0462-1.