ASP.NET MVC Tutorial for begyndere: Hvad er, Architecture

Hvad er ASP.NET MVC?

ASP.NET MVC er en open source webudviklingsramme fra Microsoft der giver en Model View Controller-arkitektur. ASP.net MVC tilbyder et alternativ til ASP.net webformularer til opbygning af webapplikationer. Det er en del af .Net-platformen til at bygge, implementere og køre webapps. Du kan udvikle webapps og websteder ved hjælp af HTML, CSS, jQuery, JavascriptOsv

Lær MVC med denne ASP.NET MVC-tutorial, som dækker alle de grundlæggende begreber i MVC for begyndere:

Hvorfor ASP.net MVC?

Selvom webformularer var meget vellykkede, Microsoft tænkte på at udvikle ASP.net MVC. Hovedproblemet med ASP.net webForms er ydeevne.

I en webapplikation, er der fire hovedaspekter, der definerer ydeevne:-

  • Svartidsproblemer
  • Problem med enhedstestning
  • HTML tilpasning
  • Genanvendelighed af kode-behind-klassen

ASP.net MVC udmærker sig på ovenstående parametre.

Versionshistorik for MVC

ASP.NET MVC1

  • Udgivet den 13. marts 2009
  • Den kører på.NET 3.5
  • Visual Studio 2008
  • MVC-mønsterarkitektur med WebForm Engine
  • Hovedfunktioner inkluderer HTML & Enhedstest, Ajax Helpers, Routing osv.

ASP.NET MVC2

  • Denne version udgivet den 10. marts 2010
  • Kører på .NET 3.5,4.0 og med Microsoft Visual Studio 2008
  • Inkluder funktioner som skabelonhjælpere, Ul-hjælpere med automatisk stillads og tilpasselige skabeloner
  • Det understøtter DataAnnotations-attributter til at anvende modelvalidering på klient- og serversider

ASP.NET MVC3

  • Den blev udgivet den 13. januar 2011
  • Kører på .NET 4.0 og med Microsoft Visual Studio 2010
  • Brug af NuGet til at levere software og giver dig mulighed for at administrere afhængigheder på tværs af platformen
  • Bedre JavaScript-understøttelse med jQuery-validering og JSON-binding
  • Det tilbyder funktioner som Razor view-motoren; forbedrede Data Annotations-attributter til modelvalidering på både klient- og serversiden

ASP.NET MVC4

  • Denne version blev udgivet i august 2012
  • Den kører på .NET 4.0, 4.5 og med Visual Studio 2010 og Visual Studio 2012
  • Forbedringer til standardprojektskabeloner
  • Tilbyder funktioner som mobil projektskabelon ved hjælp af jQuery Mobile, opgaveunderstøttelse til asynkrone controllere, bundling, minifikation osv.

ASP.NET MVC5

  • Udgivet den 17. oktober 2013
  • Kører på .NET 4.5, 4.5.1 og med Visual Studio 2012 & Visual OneASP.NET
  • Understøtter attributrouting i MVC

Funktioner af MVC

  • Nem og friktionsfri testbarhed
  • Fuld kontrol over din HTML, JavaScript og URL'er
  • Udnyt eksisterende ASP.Net Funktionalitet
  • En ny præsentationsmulighed til ASP.Net
  • En enklere måde at programmere Asp.Net på
  • Klar adskillelse af logik: Model, View, Controller
  • Testdrevet udvikling
  • Støtte til parallel udvikling

Ting at huske, mens du opretter MVC-applikationen

Her er et par nyttige ting i denne ASP.NET MVC-tutorial, som du skal huske for at oprette MVC-applikation:

  • Du skal huske, at ASP .net MVC IKKE er en erstatning for ASP.Net webformularbaserede applikationer
  • Fremgangsmåden for MVC-appudvikling skal besluttes baseret på applikationskravene og funktionerne fra ASP .net MVC for at passe til de specifikke udviklingsbehov.
  • Applikationsudviklingsprocessen med ASP .NET MVC er mere kompleks sammenlignet med webformularbaserede applikationer.
  • Applikationsvedligeholdelse er altid højere med adskillelse af applikationsopgaver.
MVC arkitektonisk mønster
MVC arkitektonisk mønster

MVC er et softwarearkitekturmønster, som følger metoden med separation af bekymringer. I denne model er .Net-applikationer opdelt i tre indbyrdes forbundne dele, som kaldes Model, View og Controller.

Målet med MVC-mønsteret er, at hver af disse dele kan udvikles, testes i relativ isolation og også kombineres for at skabe en meget robust applikation.

Lad os se dem alle i detaljer:

Modeller

Modelobjekter er dele af applikationen, som implementerer logikken for applikationens data domæne. Den henter og gemmer modeltilstand i en database. For eksempel kan produktobjekt hente information fra en database, operere på det. Skriv derefter information tilbage til produkttabellen i SQL-serveren.

Views

Visninger er de komponenter, som bruges til at vise applikationens brugergrænseflade (UI), også kaldet viewmodel i MVC. Den viser .Net MVC-applikationen, som er oprettet ud fra modeldataene.

Det almindelige eksempel ville være en redigeringsvisning af en varetabel. Det viser tekstbokse, pop-ups og afkrydsningsfelter baseret på den aktuelle tilstand for produkter og objekter.

controller

Controllere håndterer brugerinteraktion, arbejder med modellen og vælger en visning for at gengive denne visning Ul. I en .Net MVC-app viser visningen kun information, controlleren administrerer og reagerer på brugerinput og interaktion ved hjælp af handlingsfiltre i MVC.

For eksempel administrerer controlleren forespørgselsstrengværdier og sender disse værdier til modellen.

Webformularer vs. MVC

parametre WebFroms MVC
Model Asp.Net Web Forms følger begivenhedsdrevet udviklingsmodel. Asp.Net MVC bruger MVC mønster baseret udviklingsmodel.
Brugt siden Har eksisteret siden 2002 Den blev udgivet første gang i 2009
Understøttelse af visningstilstand Asp.Net Web Form understøtter visningstilstand for tilstandsstyring på klientsiden. .Net MVC understøtter ikke visningstilstand.
URL-type Asp.Net Web Form har filbaserede URL'er. Det betyder, at filnavnet findes i URL'erne, og at de skal eksistere fysisk. Asp.Net MVC har rutebaserede URL'er, der betyder URL'er, som omdirigeres til controllere og handlinger.
Syntaks Asp.Net MVC følger webformularsyntaks. Asp.Net MVC følger den tilpasselige syntaks.
Vis type Webformular, visninger er tæt koblet til Code behind(ASPX-CS), dvs. logik. MVC, visninger og logik holdes altid adskilt.
Konsekvent udseende og fornemmelse Den har mastersider for et ensartet udseende. Asp.Net MVC har layouts for et ensartet udseende.
Kode Genanvendelighed Webformular tilbyder brugerkontroller til genbrug af kode. Asp.Net MVC har tilbudt delvise visninger for genbrug af kode.
Kontrol til HTML Less kontrol over gengivet HTML. Fuld kontrol over HTML
Statens ledelse Automatisk tilstandsstyring af kontroller. Manuel tilstandsstyring.
TDD support Svag eller tilpasset TDD påkrævet. Opmuntrer og inkluderer TDD!

Fordele ved ASP.NET MVC

  • Meget vedligeholdelsesvenlige applikationer som standard
  • Det giver dig mulighed for at erstatte enhver komponent i applikationen.
  • Bedre support til testdrevet udvikling
  • Komplekse applikationer er nemme at administrere på grund af opdelinger af Model, View og Controllere.
  • Tilbyder robust routingmekanisme med frontcontrollermønster
  • Tilbyder bedre kontrol over applikationsadfærd med eliminering af visningstilstand og serverbaserede formularer
  • .Net MVC-applikationer understøttes af store teams af udviklere og webdesignere
  • Det giver mere kontrol over applikationens adfærd. Den bruger også en optimeret båndbredde til anmodninger til serveren

Ulemper ved ASP.NET MVC

  • Du kan ikke se forhåndsvisning af designside som .aspx-siden.
  • Du skal køre programmet hver gang for at se det faktiske design.
  • At forstå applikationens flow kan være udfordrende
  • Det er ret kompliceret at implementere, så det er ikke en ideel mulighed for små applikationer
  • Det er svært at lære MVC til ASP.NET, da det kræver en stor forståelse af MVC-mønster

Bedste øver sig, mens du bruger ASP.Net MVC

  • Opret en separat samling til MODEL i tilfælde af stor og kompleks kode for at undgå enhver uønsket situation o
  • Modellen bør omfatte forretningslogik, sessionsvedligeholdelse, valideringsdel og datalogikdel.
  • VIEW bør ikke indeholde nogen forretningslogik og sessionsvedligeholdelse, brug ViewData til at få adgang til data i View
  • Forretningslogik og dataadgang bør aldrig forekomme i ControllerViewData
  • Den registeransvarlige bør kun være ansvarlig for at udarbejde og returnere en visning, opkaldsmodel, omdirigering til handling osv.
  • Slet demokode fra applikationen, når du opretter den Slet AccountController
  • Brug kun specifik visningsmotor til at oprette HTML-markering fra din visning, da det er kombinationen af ​​HTML og programmeringskoden.

Resumé

  • ASP.NET MVC er en open source webudviklingsramme fra Microsoft der giver en Model View Controller-arkitektur.
  • ASP.net MVC tilbyder et alternativ til ASP.net webformularer til opbygning af webapplikationer.
  • Hovedproblemet med ASP.net webForms er ydeevne.
  • ASP.net MVC tilbyder nem og friktionsfri testbarhed med fuld kontrol over dine HTML og URL'er.
  • Du skal huske, at ASP .net MVC IKKE er en erstatning for ASP.Net webformularbaserede applikationer.
  • Tilgangen til MVC-appudvikling eller ASP.NET MVC-livscyklus skal besluttes ud fra de applikationskrav og funktioner, som ASP .net MVC leverer, for at passe til de specifikke udviklingsbehov.
  • ASP.NET MVC tilbyder som standard applikationer, der kan vedligeholdes.
  • Med ASP.net kan du ikke se forhåndsvisning af designside som .aspx-siden.
  • Som en bedste praksis bør modellen omfatte forretningslogik, sessionsvedligeholdelse, valideringsdel og datalogikdel.