This article is currently in the process of being translated into Russian (~99% done).
What is MVC?
MVC (от Model-view-controller, модель-представление-контроллер) - это шаблон проектирования программного обеспечения, разработанный в 1970-х годах, когда графический пользовательский интерфейс был еще на ранней стадии своего развития. MVC предназначен для разделения приложения на три отдельных компонента:
Модель (The Model)
Модель представляет данные и методы работы с ними (бизнес-логику). Обычно модель web-приложения состоит из объектов базы данных или любых других объектов, с которыми работает приложение.
Представление (The View)
Представление - это визуализация Модели. Типичным примером служат web-страницы, отображающие пользователям графическое представление Модели, которое может содержать не только данные, но и элементы ввода. Разумеется, одно Представление не обязано отображать все данные некоторой Модели, а одна и та же Модель может иметь множество Представлений.
Контроллер (The Controller)
Контроллер обрабатывает все взаимодействия между Моделью и Представлением. В типичном вебприложении методы Контроллера вызываются пользователем, когда страница загружается или нажимается кнопка. После Контроллер изменяет Модель, если нужно, и потом возвращает новое Представление (или действие, но об этом позднее), если нужно.
Эволюция MVC
После появления в 1970 году, шаблон MVC не привлекал значительного внимания в течении следующих 30 лет. Ранние вебприложения, подобные Perl, PHP и классический ASP в действительности не фокусировались на шаблонах проектирования и даже с выходом ASP.NET, MVC не интегрировался как его часть. Конечно, вы могли применять техники MVC в ваших проектах, но ни какие популярные фрэймворки не поощряли это никоим образом.
В 2004 году вышел Ruby on Rails, платформа предназначенная для создания интернет приложений, которая основана на языке программирования Ruby. Который, в свою очередь, взял многое от шаблона MVC. Многие считают что именно это и обратило внимание на MVC и вскоре вышли фреймворки PHP на основе шаблона MVC. Это привело к большой популярности шаблона и возможно это повлияло на решение Microsoft создать свою программную платформу .NET с большим набором инструментов в Visual Studio IDE для поддержки MVC. ASP.NET MVC был выпущен в 2007 году, но первая финальная версия увидела свет только в 2009
в следующих главах мы рассмотрим более детально ASP.NET MVC и сравним с альтернативными технологиями, в основном ASP.NET WebForms