Что такое ASP.NET MVC?
ASP.NET MVC — это платформа веб-разработки с открытым исходным кодом от Microsoft, которая предоставляет архитектуру Model View Controller. ASP.net MVC предлагает альтернативу веб-формам ASP.net для создания веб-приложений. Он является частью платформы .Net для создания, развертывания и запуска веб-приложений. Вы можете разрабатывать веб-приложения и веб-сайт с помощью HTML, CSS, jQuery, Javascript и т. Д.
В этом уроке вы узнаете:
- Почему ASP.net MVC?
- История версий MVC
- Особенности MVC
- Что нужно помнить при создании приложения MVC
- MVC Архитектурный Образец
- Веб-формы против MVC
- Преимущества ASP.NET MVC
- Лучшие практики при использовании ASP.Net MVC
Почему ASP.net MVC?
Хотя веб-формы были очень успешными, Microsoft думала о разработке ASP.net MVC. Основной проблемой веб-форм ASP.net является производительность.
В веб-приложении есть четыре основных аспекта, которые определяют производительность:
- Время ответа
- Проблема юнит-тестирования
- Настройка HTML
- Возможность повторного использования класса code-behind
ASP.net MVC превосходит по вышеуказанным параметрам.
История версий MVC
ASP.NET MVC1
- Дата выхода 13 марта 2009 г.
- Он работает на .NET 3.5
- Visual Studio 2008
- Архитектура шаблонов MVC с движком WebForm
- Основные функции включают Html и модульное тестирование, помощники Ajax, маршрутизацию и т. Д.
ASP.NET MVC2
- Эта версия выпущена 10 марта 2010 г.
- Работает на .NET 3.5,4.0 и с Microsoft Visual Studio 2008
- Включите такие функции, как шаблонные помощники, Ul помощники с автоматическими лесами и настраиваемыми шаблонами
- Он поддерживает атрибуты DataAnnotations для применения проверки модели на стороне клиента и сервера.
ASP.NET MVC3
- Выпущена 13 января 2011
- Работает на .NET 4.0 и с Microsoft Visual Studio 2010
- Использование NuGet для доставки программного обеспечения и позволяет управлять зависимостями по всей платформе
- Лучшая поддержка JavaScript с помощью JQuery Validation и JSON-связывания
- Он предлагает такие функции, как Razor View Engine; улучшенные атрибуты аннотаций данных для проверки модели на стороне клиента и сервера
ASP.NET MVC4
- Эта версия была выпущена в августе 2012
- Он работает на .NET 4.0,4.5 и с Visual Studio 2010 и Visual Studio 2012
- Улучшения шаблонов проектов по умолчанию
- Предлагает такие функции, как шаблон мобильного проекта с использованием jQuery Mobile, поддержка задач для асинхронных контроллеров, пакетирование, минимизация и т. Д.
ASP.NET MVÇ5
- Дата выхода 17 октября 2013 г.
- Работает в .NET 4.5,4.5.1 и вместе с Visual Studio 2012 и Visual OneASP.NET
Особенности MVC
- Легкая и легкая проверка
- Полный контроль над вашим HTML, JavaScript и URL
- Используйте существующие возможности ASP.Net
- Новый вариант презентации для ASP.Net
- Более простой способ программирования Asp.Net
- Четкое разделение логики: модель, вид, контроллер
- Разработка через тестирование
- Поддержка параллельной разработки
Что нужно помнить при создании приложения MVC
Вот несколько полезных вещей, которые нужно помнить при создании приложения MVC:
- Вы должны помнить, что ASP .net MVC НЕ является заменой приложений на основе веб-форм ASP.Net
- Подход к разработке приложений MVC должен решаться на основе требований к приложениям и функций, предоставляемых ASP .net MVC, для удовлетворения конкретных потребностей разработки.
- Процесс разработки приложений с ASP .NET MVC является более сложным по сравнению с приложениями на основе веб-форм.
- Сопровождаемость приложения всегда будет выше при разделении задач приложения.
MVC архитектурный паттерн
MVC — это шаблон архитектуры программного обеспечения, который следует методу разделения интересов. В этой модели .Net приложения делятся на три взаимосвязанные части, которые называются Модель, Представление и Контроллер.
Целью шаблона MVC является то, что каждая из этих частей может быть разработана, протестирована в относительной изоляции, а также объединена для создания очень надежного приложения.
Давайте рассмотрим все из них подробно:
модели
Объекты модели являются частями приложения, которые реализуют логику для предметной области приложения . Он извлекает и сохраняет состояние модели в базе данных. Например, объект продукта может извлекать информацию из базы данных, работать с ней. Затем запишите информацию обратно в таблицу продуктов на сервере SQL.
Взгляды
Представление — это компоненты, которые используются для отображения пользовательского интерфейса приложения. Он отображает приложение .Net MVC, созданное на основе данных модели.
Типичным примером будет представление редактирования таблицы Item. Он отображает текстовые поля, всплывающие окна и флажки в зависимости от текущего состояния продуктов и объектов.
контроллер
Контроллеры обрабатывают взаимодействие с пользователем, работают с моделью и выбирают представление для отображения, которое отображает Ul. В приложении .Net MVC представление отображает только информацию, контроллер управляет и реагирует на ввод и взаимодействие с пользователем.
Например, контроллер управляет значениями строки запроса и передает эти значения в модель.
Веб-формы против MVC
параметры | WebFroms | MVC |
модель | Веб-формы Asp.Net соответствуют модели разработки, управляемой событиями. | Asp.Net MVC использует модель разработки, основанную на шаблонах MVC. |
Используется с | Был с 2002 года | Впервые был выпущен в 2009 году |
Поддержка состояния просмотра | Веб-форма Asp.Net поддерживает состояние просмотра для управления состоянием на стороне клиента. | .Net MVC не поддерживает состояние просмотра. |
Тип URL | Веб-форма Asp.Net имеет URL-адреса на основе файлов. Это означает, что имя файла существует в URL и должно существовать физически. | Asp.Net MVC имеет URL-адреса на основе маршрутов, то есть URL-адреса, которые перенаправляются на контроллеры и действия. |
Синтаксис | Asp.Net MVC следует синтаксису веб-форм. | Asp.Net MVC следуют настраиваемому синтаксису. |
Тип просмотра | Веб-форма, представления тесно связаны с кодом позади (ASPX-CS), то есть логикой. | MVC, Views и логика всегда хранятся отдельно. |
Последовательный взгляд и ощущения | У этого есть главные страницы для последовательного взгляда. | Asp.Net MVC имеет макеты для последовательного взгляда. |
Повторное использование кода | Веб-форма предлагает пользовательские элементы управления для повторного использования кода. | Asp.Net MVC предлагает частичные представления для повторного использования кода. |
Контроль за HTML | Меньше контроля над отображаемым HTML. | Полный контроль над HTML |
Государственное управление | Автоматическое управление состоянием элементов управления. | Ручное управление государством. |
Поддержка TDD | Требуется слабый или нестандартный TDD. | Поощряет и включает в себя TDD! |
Преимущества ASP.NET MVC
- Высоко обслуживаемые приложения по умолчанию
- Это позволяет заменить любой компонент приложения.
- Лучшая поддержка для разработки через тестирование
- Сложными приложениями легко управлять из-за разделения Model, View и Controllers.
- Предлагая надежный механизм маршрутизации с рисунком переднего контроллера
- Обеспечивает лучший контроль над поведением приложений благодаря исключению состояния просмотра и серверных форм.
- Приложения .Net MVC поддерживаются большими командами разработчиков и веб-дизайнеров.
- Он предлагает больше контроля над поведением приложения. Он также использует оптимизированную пропускную способность для запросов к серверу.
Недостатки ASP.NET MVC
- Вы не можете видеть предварительный просмотр страницы дизайна, как страница ASPX.
- Вам нужно запускать программу каждый раз, чтобы увидеть ее актуальный дизайн.
- Понимание потока приложения может быть сложной задачей
- Это довольно сложно реализовать, поэтому это не идеальный вариант для небольших приложений
- ASP.NET MVC трудно освоить, так как требует глубокого понимания шаблона MVC.
Лучшие практики при использовании ASP.Net MVC
- Создайте отдельную сборку для MODEL в случае большого и сложного кода, чтобы избежать нежелательной ситуации. O
- Модель должна включать в себя бизнес-логику, поддержку сеанса, часть проверки и часть логики данных.
- VIEW не должен содержать бизнес-логики и обслуживания сеансов, используйте ViewData для доступа к данным в View
- Бизнес-логика и доступ к данным никогда не должны происходить в ControllerViewData
- Контроллер должен отвечать только за подготовку и возврат представления, модели вызова, перенаправления на действия и т. Д.
- Удалить демо-код из приложения при его создании Удалить AccountController
- Используйте только определенный движок представления для создания разметки HTML из вашего представления, так как это сочетание HTML и программного кода.
Резюме
- ASP.NET MVC — это платформа веб-разработки с открытым исходным кодом от Microsoft, которая предоставляет архитектуру Model View Controller.
- ASP.net MVC предлагает альтернативу ASP.net веб-форм для создания веб-приложений
- Основной проблемой веб-форм ASP.net является производительность.
- ASP.net MVC предлагает простую и беспроблемную тестируемость с полным контролем над вашими HTML и URL
- Вы должны помнить, что ASP .net MVC НЕ является заменой приложений на основе веб-форм ASP.Net
- Подход к разработке приложений MVC должен решаться на основе требований к приложениям и функций, предоставляемых ASP .net MVC, для удовлетворения конкретных потребностей разработки.
- ASP.net MVC предлагает очень удобные в обслуживании приложения по умолчанию
- С ASP.net вы не можете видеть предварительный просмотр страницы дизайна, как .aspx.
- В качестве наилучшей практики модель должна включать в себя бизнес-логику, обслуживание сеансов, часть проверки и часть логики данных.