ASP.NET MVC Урок за начинаещи: Какво е, Archiтекстура

Какво е ASP.NET MVC?

ASP.NET MVC е рамка за уеб разработка с отворен код от Microsoft който осигурява архитектура на контролер за изглед на модел. ASP.net MVC предлага алтернатива на ASP.net уеб формуляри за изграждане на уеб приложения. Той е част от платформата .Net за изграждане, внедряване и стартиране на уеб приложения. Можете да разработите уеб приложения и уебсайт с помощта на HTML, CSS, jQuery, JavascriptИ др

Научете MVC с този ASP.NET MVC урок, който обхваща всички основни концепции на MVC за начинаещи:

Защо ASP.net MVC?

Въпреки че уеб формулярите бяха много успешни, Microsoft мислех да разработя ASP.net MVC. Основният проблем с ASP.net webForms е производителността.

В уеб приложение, има четири основни аспекта, които определят ефективността:-

  • Проблеми с времето за реакция
  • Проблем с модулното тестване
  • HTML персонализиране
  • Повторна употреба на класа зад кода

ASP.net MVC се отличава с горните параметри.

История на версиите на MVC

ASP.NET MVC1

  • Издаден на 13 март 2009 г
  • Работи на .NET 3.5
  • Visual Studio 2008
  • MVC шаблонна архитектура с WebForm Engine
  • Основните характеристики включват Html & Единично тестване, Ajax Helpers, Routing и др.

ASP.NET MVC2

  • Тази версия е пусната на 10 март 2010 г
  • Работи на .NET 3.5,4.0 и с Microsoft Visual Studio 2008
  • Включете функция като Templated helpers, Ul helpers с автоматично скеле и адаптивни шаблони
  • Той поддържа атрибути на DataAnnotations за прилагане на валидиране на модел от страна на клиент и сървър

ASP.NET MVC3

  • Пуснат е на 13 януари 2011 г
  • Работи на .NET 4.0 и с Microsoft Visual Studio 2010
  • Използването на НuGet за доставяне на софтуер и ви позволява да управлявате зависимости в цялата платформа
  • По-добре JavaПоддръжка на скриптове с jQuery валидиране и JSON свързване
  • Той предлага функции като Razor view engine; подобрени атрибути за анотации на данни за валидиране на модела от страна на клиента и сървъра

ASP.NET MVC4

  • Тази версия беше пусната на август 2012 г
  • Работи на .NET 4.0, 4.5 и с Visual Studio 2010 & Visual Studio 2012
  • Подобрения в шаблоните за проекти по подразбиране
  • Предлага функции като шаблон за мобилен проект с помощта на jQuery Mobile, поддръжка на задачи за асинхронни контролери, групиране, минимизиране и др.

ASP.NET MVC5

  • Издаден на 17 октомври 2013 г
  • Работи на .NET 4.5, 4.5.1 и с Visual Studio 2012 & Visual OneASP.NET
  • Поддържа маршрутизиране на атрибути в MVC

Характеристики на MVC

  • Лесна и без триене възможност за тестване
  • Пълен контрол върху вашия HTML, JavaСкрипт и URL адреси
  • Съществуващ ливъридж ASP.Net Характеристики:
  • Нова опция за представяне за ASP.Net
  • По-прост начин за програмиране на Asp.Net
  • Ясно разделяне на логиката: модел, изглед, контролер
  • Тест-ориентирана разработка
  • Подкрепа за паралелно развитие

Неща, които трябва да запомните, докато създавате MVC приложение

Ето няколко полезни неща в този ASP.NET MVC урок, които трябва да запомните, за да създадете MVC приложение:

  • Трябва да запомните, че ASP .net MVC НЕ е заместител на приложения, базирани на ASP.Net уеб формуляри
  • Подходът за разработване на MVC приложения трябва да бъде решен въз основа на изискванията и функциите на приложението, предоставени от ASP .net MVC, за да отговарят на специфичните нужди за разработка.
  • Процесът на разработка на приложения с ASP .NET MVC е по-сложен в сравнение с приложенията, базирани на уеб формуляри.
  • Поддържаемостта на приложението винаги е по-висока с разделяне на задачите на приложението.
MVC архитектурен модел
MVC архитектурен модел

MVC е модел на софтуерна архитектура, който следва метода за разделяне на проблемите. В този модел .Net приложенията са разделени на три взаимосвързани части, които се наричат ​​Модел, Изглед и Контролер.

Целта на модела MVC е всяка от тези части да може да бъде разработена, тествана в относителна изолация и също комбинирана, за да се създаде много стабилно приложение.

Нека разгледаме всички тях в детайли:

Модели

Моделните обекти са части от приложението, които реализират логиката на приложението домейн за данни. Той извлича и съхранява състоянието на модела в база данни. Например обектът продукт може да извлича информация от a база данни, оперирайте го. След това запишете информация обратно в таблицата с продукти в SQL сървъра.

Прегледи

Изгледите са компонентите, които се използват за показване на потребителския интерфейс (UI) на приложението, наричан още viewmodel в MVC. Той показва приложението .Net MVC, което е създадено от данните на модела.

Често срещаният пример би бил изглед за редактиране на таблица с елементи. Той показва текстови полета, изскачащи прозорци и квадратчета за отметка въз основа на текущото състояние на продуктите и обекта.

Регулатор

Контролерите управляват взаимодействието на потребителя, работят с модела и избират изглед за изобразяване на този дисплей Ul. В приложение .Net MVC изгледът показва само информация, контролерът управлява и отговаря на въвеждането и взаимодействието на потребителя с помощта на филтри за действие в MVC.

Например, контролерът управлява стойностите на низа на заявката и предава тези стойности на модела.

Уеб формуляри срещу MVC

параметри WebFroms MVC
Модел Asp.Net Web Forms следват управляван от събития модел на разработка. Asp.Net MVC използва модел за разработка, базиран на MVC модел.
Използва се от Съществува от 2002 г Издадена е за първи път през 2009 г
Поддръжка за състояние на изглед Asp.Net Web Form поддържа състояние на изглед за управление на състоянието от страна на клиента. .Net MVC не поддържа състояние на изглед.
URL тип Asp.Net Web Form има базирани на файлове URL адреси. Това означава, че името на файла съществува в URL адресите и те трябва да съществуват физически. Asp.Net MVC има базирани на маршрут URL адреси, което означава URL адреси, които се пренасочват към контролери и действия.
Синтаксис Asp.Net MVC следва синтаксиса на уеб формуляри. Asp.Net MVC следва адаптивния синтаксис.
Тип изглед Уеб формуляр, изгледите са тясно свързани със задния код (ASPX-CS), т.е. логиката. MVC, изгледите и логиката винаги се съхраняват отделно.
Постоянен вид и усещане Има главни страници за последователен външен вид. Asp.Net MVC има оформления за последователен външен вид.
Повторна употреба на кода Web Form предлага потребителски контроли за повторно използване на кода. Asp.Net MVC предлага частични изгледи за повторно използване на кода.
Контрол за HTML Less контрол върху изобразения HTML. Пълен контрол над HTML
Държавно управление Автоматично управление на състоянието на контролите. Ръчно управление на държавата.
TDD поддръжка Изисква се слаб или персонализиран TDD. Насърчава и включва TDD!

Предимства на ASP.NET MVC

  • Приложения с висока поддръжка по подразбиране
  • Позволява ви да замените всеки компонент на приложението.
  • По-добра поддръжка за разработка, управлявана от тестове
  • Сложните приложения са лесни за управление поради разделенията на модел, изглед и контролери.
  • Предлага здрав механизъм за маршрутизиране с шаблон на предния контролер
  • Предлага по-добър контрол върху поведението на приложението с елиминирането на състоянието на изгледа и базираните на сървъра форми
  • .Net MVC приложенията се поддържат от големи екипи от разработчици и уеб дизайнери
  • Предлага повече контрол върху поведението на приложението. Той също така използва оптимизирана честотна лента за заявки, отправени към сървъра

Недостатъци на ASP.NET MVC

  • Не можете да видите визуализация на страницата с дизайн като .aspx страницата.
  • Трябва да стартирате програмата всеки път, за да видите нейния действителен дизайн.
  • Разбирането на потока на приложението може да бъде предизвикателство
  • Той е доста сложен за изпълнение, така че не е идеален вариант за малки приложения
  • Трудно е да се научи MVC за ASP.NET, тъй като изисква отлично разбиране на MVC модела

Най-добри практики при използване на ASP.Net MVC

  • Създайте отделна сборка за MODEL в случай на голям и сложен код, за да избегнете нежелана ситуация o
  • Моделът трябва да включва бизнес логика, поддръжка на сесии, част за валидиране и част за логика на данни.
  • VIEW не трябва да съдържа бизнес логика и поддръжка на сесии, използвайте ViewData за достъп до данни в View
  • Бизнес логиката и достъпът до данни никога не трябва да се появяват в ControllerViewData
  • Контролерът трябва да отговаря само за подготовката и връщането на изглед, извикващ модел, пренасочване към действие и т.н.
  • Изтрийте Демо код от приложението, когато го създадете Изтрийте AccountController
  • Използвайте само специфичен изглед, за да създадете HTML маркиране от вашия изглед, тъй като това е комбинация от HTML и програмния код.

Oбобщение

  • ASP.NET MVC е рамка за уеб разработка с отворен код от Microsoft което осигурява a Архитектура на контролера за изглед на модел.
  • ASP.net MVC предлага алтернатива на ASP.net уеб формуляри за изграждане на уеб приложения.
  • Основният проблем с ASP.net webForms е производителността.
  • ASP.net MVC предлага лесна и безпроблемна възможност за тестване с пълен контрол върху вашия HTML и URL адреси.
  • Трябва да запомните, че ASP .net MVC НЕ е заместител на приложения, базирани на ASP.Net уеб формуляри.
  • Подходът на разработката на MVC приложения или жизнения цикъл на ASP.NET MVC трябва да бъде решен въз основа на изискванията и функциите на приложението, предоставени от ASP .net MVC, за да отговарят на специфичните нужди за разработка.
  • ASP.NET MVC предлага приложения с висока поддръжка по подразбиране.
  • С ASP.net не можете да видите визуализация на страницата с дизайн като .aspx страницата.
  • Като най-добра практика моделът трябва да включва бизнес логика, поддръжка на сесии, част за валидиране и част за логика на данни.