MVC - это подход к проектированию архитектуры программного приложения. Он строится на разделении ответственности таких компонентов как модель данных, их представления и контроллера, организующего взаимодействие. Другими словами, MVC основан на отделении кода интерфейса от кода логики приложения. Сокращение MVC расшифровывается как Model-View-Controller, где:

Model - это модель предметной области соответствующая структурам данных, обрабатываемых приложением. Модель представлена в виде классов, описывающих интерфейсы и объекты. Англоязычное название предметной области - домен (Domain), которое не стоит путать с доменом реляционной базы данных. Вероятно, в английском языке общим моментов для слова domain является структура, состоящая из однотипных элементов. Модель сайта выполняющего функцию калькулятора может состоять из одного класса, принимающего вводимые числа и содержащего несколько методов по числу выполняемых действий.

View - переводится как представление, другими словами внешнее представление интерфейса приложения. В случае с веб-приложениями представление создает HTML-разметку страницы, получаемой браузером пользователя. На серверной стороне представление состоит из статического HTML и серверных элементов управления, которые при исполнении страницы на сервере тоже выдадут HTML. В примере сайта калькулятора статический HTML будет представлять собой описание полей для ввода и кнопок, элемент управления будет описывать поле для вывода результата математического действия.

Controller – управляющий элемент, ответственный за организацию потоков данных. В физическом калькуляторе аналогичную функцию выполняют провода и другие элементы электросхемы, передающие данные о нажатых кнопках в микрочип, и данные предназначенные для вывода на экран. В ASP.NET MVC контроллер реализован в виде класса С#, методы которого соответствуют отдельные каналы данных. Как и любые другие методы принимают входящие параметры, в данном случае – от представления. Далее, в принципе MVC предполагается, что внутри метода производится адаптация данных и передача сначала их коду модели, а потом коду представления.