ASP.NET MVC-zelfstudie voor beginners: wat is, Architectuur

Wat is ASP.NET MVC?

ASP.NET MVC is een open source webontwikkelingsframework van Microsoft die een Model View Controller-architectuur biedt. ASP.net MVC biedt een alternatief voor ASP.net-webformulieren voor het bouwen van webapplicaties. Het is een onderdeel van het .Net-platform voor het bouwen, implementeren en uitvoeren van webapps. U kunt webapps en websites ontwikkelen met behulp van HTML, CSS, jQuery, Javascript, Etc.

Leer MVC met deze ASP.NET MVC-zelfstudie, die alle basisconcepten van MVC voor beginners behandelt:

Waarom ASP.net MVC?

Hoewel webformulieren zeer succesvol waren, Microsoft dacht aan het ontwikkelen van ASP.net MVC. Het belangrijkste probleem met ASP.net webForms zijn de prestaties.

In een webapplicatieEr zijn vier hoofdaspecten die de prestaties bepalen:

  • Problemen met de responstijd
  • Probleem van het testen van eenheden
  • HTML-aanpassing
  • Herbruikbaarheid van de code-behind-klasse

ASP.net MVC blinkt uit op de bovenstaande parameters.

Versiegeschiedenis van MVC

ASP.NET MVC1

  • Uitgebracht op 13 maart 2009
  • Het draait op.NET 3.5
  • Visual Studio 2008
  • MVC-patroonarchitectuur met WebForm Engine
  • Belangrijkste kenmerken omvatten HTML en Testen van een eenheid, Ajax Helpers, Routing, etc.

ASP.NET MVC2

  • Deze versie uitgebracht op 10 maart 2010
  • Draait op .NET 3.5,4.0 en met Microsoft Visual Studio 2008
  • Inclusief functies zoals Templated-helpers, Ul-helpers met automatische steigers en aanpasbare sjablonen
  • Het ondersteunt DataAnnotations-attributen om modelvalidatie op client- en serverzijde toe te passen

ASP.NET MVC3

  • Het werd uitgebracht op 13 januari 2011
  • Draait op .NET 4.0 en met Microsoft Visual Studio 2010
  • Gebruik van NuGet om software te leveren en stelt u in staat afhankelijkheden op het hele platform te beheren
  • Betere JavaScriptondersteuning met jQuery-validatie en JSON-binding
  • Het biedt functies zoals de Razor-weergave-engine; verbeterde Data Annotations-attributen voor modelvalidatie aan zowel client- als serverzijde

ASP.NET MVC4

  • Deze versie is uitgebracht in augustus 2012
  • Het draait op .NET 4.0, 4.5 en met Visual Studio 2010 & Visual Studio 2012
  • Verbeteringen aan standaardprojectsjablonen
  • Biedt functies zoals een mobiele projectsjabloon met jQuery Mobile, taakondersteuning voor asynchrone controllers, bundeling, minimalisatie, enz.

ASP.NET MVC5

  • Uitgebracht op 17 oktober 2013
  • Draait op .NET 4.5, 4.5.1 en met Visual Studio 2012 & Visual OneASP.NET
  • Ondersteunt attribuutroutering in MVC

Kenmerken van MVC

  • Gemakkelijke en wrijvingsloze testbaarheid
  • Volledige controle over uw HTML, JavaScript en URL's
  • Maak gebruik van bestaande ASP.Net Kenmerken
  • Een nieuwe presentatieoptie voor ASP.Net
  • Een eenvoudigere manier om Asp.Net te programmeren
  • Duidelijke scheiding van logica: model, weergave, controller
  • Test gedreven ontwikkeling
  • Ondersteuning voor parallelle ontwikkeling

Dingen om te onthouden bij het maken van een MVC-applicatie

Hier zijn een paar nuttige dingen in deze ASP.NET MVC-tutorial die u moet onthouden voor het maken van een MVC-toepassing:

  • Houd er rekening mee dat ASP .net MVC GEEN vervanging is van op ASP.Net-webformulieren gebaseerde applicaties
  • De aanpak van de ontwikkeling van MVC-apps moet worden bepaald op basis van de applicatievereisten en functies van ASP .net MVC om aan de specifieke ontwikkelingsbehoeften te voldoen.
  • Het applicatieontwikkelingsproces met ASP .NET MVC is complexer vergeleken met op webformulieren gebaseerde applicaties.
  • De onderhoudbaarheid van applicaties is altijd hoger met scheiding van applicatietaken.
MVC architectonisch patroon
MVC architectonisch patroon

MVC is een softwarearchitectuurpatroon dat de scheiding van zorgenmethode volgt. In dit model worden .Net-applicaties verdeeld in drie onderling verbonden delen, namelijk Model, View en Controller.

Het doel van het MVC-patroon is dat elk van deze onderdelen relatief geïsoleerd kan worden ontwikkeld, getest en ook kan worden gecombineerd om een ​​zeer robuuste applicatie te creëren.

Laten we ze allemaal in detail bekijken:

Modellen

Modelobjecten zijn delen van de applicatie die de logica voor de applicatie implementeren gegevens domein. Het haalt de modelstatus op en slaat deze op in een database. Een productobject kan bijvoorbeeld informatie ophalen uit een databank, ermee werken. Schrijf vervolgens informatie terug naar de products-tabel in de SQL-server.

Weergaves

Weergaven zijn de componenten die worden gebruikt om de gebruikersinterface (UI) van de applicatie weer te geven, ook wel viewmodel genoemd in MVC. Het toont de .Net MVC-applicaties die zijn gemaakt op basis van de modelgegevens.

Het meest voorkomende voorbeeld is een bewerkingsweergave van een Item-tabel. Het toont tekstvakken, pop-ups en selectievakjes op basis van de huidige status van producten en objecten.

Controller

Controllers verzorgen de gebruikersinteractie, werken met het model en selecteren een weergave om die weergave Ul weer te geven. In een .Net MVC-app geeft de weergave alleen informatie weer, de controller beheert en reageert op gebruikersinvoer en -interactie met behulp van actiefilters in MVC.

De controller beheert bijvoorbeeld querytekenreekswaarden en geeft deze waarden door aan het model.

Webformulieren versus MVC

parameters WebVan MVC
Model Asp.Net-webformulieren volgen een gebeurtenisgestuurd ontwikkelingsmodel. Asp.Net MVC maakt gebruik van een op MVC-patronen gebaseerd ontwikkelingsmodel.
Gebruikt sinds Bestaat al sinds 2002 Het werd voor het eerst uitgebracht in 2009
Ondersteuning voor weergavestatus Asp.Net Web Form ondersteunt weergavestatus voor statusbeheer aan de clientzijde. .Net MVC ondersteunt de weergavestatus niet.
URL-type Asp.Net Web Form heeft op bestanden gebaseerde URL's. Het betekent dat er een bestandsnaam bestaat in de URL's en dat deze fysiek moeten bestaan. Asp.Net MVC heeft op routes gebaseerde URL's, dat wil zeggen URL's die worden omgeleid naar controllers en acties.
Syntaxis Asp.Net MVC volgt de syntaxis van webformulieren. Asp.Net MVC volgt de aanpasbare syntaxis.
Weergavetype Webformulieren, weergaven zijn nauw gekoppeld aan de achterliggende code (ASPX-CS), dat wil zeggen logica. MVC, Views en logica worden altijd gescheiden gehouden.
Consistente look en feel Het heeft basispagina's voor een consistent uiterlijk. Asp.Net MVC heeft lay-outs voor een consistent uiterlijk.
Herbruikbaarheid van codes Webformulier biedt gebruikerscontroles voor herbruikbaarheid van code. Asp.Net MVC heeft gedeeltelijke weergaven aangeboden voor herbruikbaarheid van code.
Controle voor HTML Less controle over weergegeven HTML. Volledige controle over HTML
Staatsbeheer Automatisch statusbeheer van controles. Handmatig statusbeheer.
TDD-ondersteuning Zwakke of aangepaste TDD vereist. Moedigt TDD aan en omvat het!

Voordelen van ASP.NET MVC

  • Standaard zeer onderhoudbare applicaties
  • Hiermee kunt u elk onderdeel van de applicatie vervangen.
  • Betere ondersteuning voor Test Driven Development
  • Complexe applicaties zijn eenvoudig te beheren dankzij de indeling in Model, View en Controllers.
  • Biedt een robuust routeringsmechanisme met controllerpatroon aan de voorkant
  • Biedt betere controle over het gedrag van applicaties door de eliminatie van weergavestatus en servergebaseerde formulieren
  • .Net MVC-applicaties worden ondersteund door grote teams van ontwikkelaars en webontwerpers
  • Het biedt meer controle over het gedrag van de applicatie. Het maakt ook gebruik van een geoptimaliseerde bandbreedte voor verzoeken aan de server

Nadelen van ASP.NET MVC

  • U kunt geen voorbeeld van de ontwerppagina zien, zoals de .aspx-pagina.
  • U moet het programma elke keer uitvoeren om het daadwerkelijke ontwerp te zien.
  • Het kan een uitdaging zijn om de stroom van de applicatie te begrijpen
  • Het is vrij ingewikkeld om te implementeren, dus het is geen ideale optie voor toepassingen op klein niveau
  • Het is moeilijk om MVC voor ASP.NET te leren, omdat het een goed begrip van het MVC-patroon vereist

Best practices bij het gebruik van ASP.Net MVC

  • Maak een aparte assembly voor MODEL in het geval van grote en complexe code om ongewenste situaties te voorkomen.
  • Het model moet bedrijfslogica, sessieonderhoud, validatiegedeelte en datalogicagedeelte omvatten.
  • VIEW mag geen bedrijfslogica en sessieonderhoud bevatten. Gebruik ViewData om toegang te krijgen tot gegevens in View
  • Bedrijfslogica en gegevenstoegang mogen nooit voorkomen in ControllerViewData
  • De verwerkingsverantwoordelijke mag alleen verantwoordelijk zijn voor het voorbereiden en retourneren van een weergave, het aanroepen van het model, het doorverwijzen naar actie, enz.
  • Verwijder de democode uit de applicatie wanneer u deze aanmaakt. Verwijder AccountController
  • Gebruik alleen een specifieke weergave-engine om HTML-opmaak vanuit uw weergave te maken, aangezien dit de combinatie is van HTML en de programmeercode.

Samenvatting

  • ASP.NET MVC is een open source webontwikkelingsframework van Microsoft dat biedt een Model View Controller-architectuur.
  • ASP.net MVC biedt een alternatief voor ASP.net-webformulieren voor het bouwen van webapplicaties.
  • Het belangrijkste probleem met ASP.net webForms zijn de prestaties.
  • ASP.net MVC biedt eenvoudige en probleemloze testbaarheid met volledige controle over uw HTML en URL's.
  • Houd er rekening mee dat ASP .net MVC GEEN vervanging is van op ASP.Net-webformulieren gebaseerde applicaties.
  • De aanpak van de ontwikkeling van MVC-apps of de ASP.NET MVC Life Cycle moet worden bepaald op basis van de applicatievereisten en -functies die door ASP .net MVC worden geleverd om aan de specifieke ontwikkelingsbehoeften te voldoen.
  • ASP.NET MVC biedt standaard zeer onderhoudbare applicaties.
  • Met ASP.net kunt u geen voorbeeld van de ontwerppagina zien, zoals de .aspx-pagina.
  • Als best practice zou het model bedrijfslogica, sessieonderhoud, validatiegedeelte en datalogicagedeelte moeten omvatten.