Этот вопрос может быть немного субъективным, но я все равно остановлюсь на нем.
- Справочная информация:
MVC был выбран для меня до того, как я начал работать в моей нынешней компании, и мне было поручено изучить его, что мне очень понравилось, так как я очень ориентирован на HTML. Проект находится в стадии разработки, но у нас есть итеративные встречи, чтобы показать прогресс и конкретизировать требования. На одной из этих встреч я нашел крупную выгоду:
- Мой опыт:
Был задан вопрос о том, может ли сайт поддерживать доступ к мобильному телефону , но до сих пор я проектировал сайт для минимального разрешения 1024 x 768 . Не беспокойтесь, Я просто отключил стили CSS и страница отображалась в не очень симпатичном, но очень функциональном потоке. Весь сайт спроектирован семантически , что облегчает портирование на разные внешние интерфейсы с помощью таблиц стилей и, возможно, небольшого количества JS. ASP.net MVC отлично подходит для семантических сайтов, которые дешевле и проще в обслуживании.
- Больше вещей
Это одно из нескольких преимуществ использования веб-технологии, которая более полно охватывает среду, на которой она работает. Другие включают в себя:
Лучшее разделение представления модели и логики управления, потому что это MVC, но это делает ваш код более свободным и более приверженным принципу единой ответственности, что в итоге делает его более дешевым в обслуживании
Больше основано на стандартах, что означает, что легче использовать трюки JQuery и CSS, которые используют все классные дети, потому что они действительно сияют в хорошо сформированных документах, основанных на семантике. Это означает, что дешевле добавить талант
Restful, управляемые URL запросы. Ваш URL не указывает некоторые .aspx для загрузки и выполнения тонны работы на кучу слоев в своем бедном небольшом коде позади. Ваш URL указывает запрос, который заставляет маршрутизатор вызывать функциональность уровня модели , которая выполняется там, где предполагается , а затем выдает соответствующие данные в представление. Здесь много хороших вещей:
Это позволяет одному контроллеру обслуживать страницы, веб-сервисы, AJAX и обрабатывать все случаи CRUD, но все в одном контексте.
Каждая ответственность обрабатывается методом, вызываемым из маршрутизатора , каждая группа связанных обязанностей может быть материализована в контроллер.
Вы контролируете, куда и куда направляются данные, вы можете создать собственную модель представления, чтобы перейти к представлению, и представление просто содержит логику для ее отображения, что делает вещи простыми и безопасными , особенно если люди, работающие на поле зрения, не люди, работающие над логикой контроллера.
Есть намного больше, но за то время, которое я потратил, чтобы напечатать это, все остальные ответы, вероятно, были опубликованы