ASP.NET MVC-handledning för nybörjare: Vad är, Architecture
Vad är ASP.NET MVC?
ASP.NET MVC är ett ramverk för webbutveckling med öppen källkod från Microsoft som ger en Model View Controller-arkitektur. ASP.net MVC erbjuder ett alternativ till ASP.net webbformulär för att bygga webbapplikationer. Det är en del av .Net-plattformen för att bygga, distribuera och köra webbappar. Du kan utveckla webbappar och webbplatser med hjälp av HTML, CSS, jQuery, JavascriptEtc.
Lär dig MVC med denna ASP.NET MVC-handledning som täcker alla grundläggande begrepp för MVC för nybörjare:
Varför ASP.net MVC?
Även om webbformulär var mycket framgångsrika, Microsoft tänkte utveckla ASP.net MVC. Huvudproblemet med ASP.net webForms är prestanda.
I en webbapplikation, det finns fyra huvudaspekter som definierar prestanda:-
- Svarstidsfrågor
- Problem med enhetstestning
- HTML-anpassning
- Återanvändbarhet av kod-bakom-klassen
ASP.net MVC utmärker sig på ovanstående parametrar.
Versionshistorik för MVC
ASP.NET MVC1
- Släppt den 13 mars 2009
- Den körs på.NET 3.5
- Visual Studio 2008
- MVC-mönsterarkitektur med WebForm Engine
- Huvudfunktioner inkluderar HTML & Enhetstestning, Ajax Helpers, Routing, etc.
ASP.NET MVC2
- Denna version släpptes den 10 mars 2010
- Körs på .NET 3.5,4.0 och med Microsoft Visual Studio 2008
- Inkludera funktioner som Templated helpers, Ul-helpers med automatiska ställningar och anpassningsbara mallar
- Det stöder DataAnnotations-attribut för att tillämpa modellvalidering på klient- och serversidor
ASP.NET MVC3
- Den släpptes den 13 januari 2011
- Körs på .NET 4.0 och med Microsoft Visual Studio 2010
- Användning av NuGet att leverera programvara och låter dig hantera beroenden över hela plattformen
- Bättre JavaSkriptstöd med jQuery-validering och JSON-bindning
- Den erbjuder funktioner som Razor view-motorn; förbättrade Data Annotations-attribut för modellvalidering på både klient- och serversidan
ASP.NET MVC4
- Denna version släpptes i augusti 2012
- Den körs på .NET 4.0, 4.5 och med Visual Studio 2010 och Visual Studio 2012
- Förbättringar av standardprojektmallar
- Erbjuder funktioner som mobil projektmall med jQuery Mobile, uppgiftsstöd för asynkrona kontroller, buntning, minifiering, etc.
ASP.NET MVC5
- Släpptes den 17 oktober 2013
- Körs på .NET 4.5, 4.5.1 och med Visual Studio 2012 och Visual OneASP.NET
- Stöder attributrouting i MVC
Funktioner hos MVC
- Enkel och friktionsfri testbarhet
- Full kontroll över din HTML, JavaSkript och webbadresser
- Utnyttja befintliga ASP.Net Funktioner
- Ett nytt presentationsalternativ för ASP.Net
- Ett enklare sätt att programmera Asp.Net
- Tydlig separation av logik: Modell, View, Controller
- Testdriven utveckling
- Stöd till parallell utveckling
Saker att komma ihåg när du skapar MVC Application
Här är några användbara saker i denna ASP.NET MVC-handledning som du måste komma ihåg för att skapa MVC-applikation:
- Du måste komma ihåg att ASP .net MVC INTE är en ersättning för ASP.Net webbformulärbaserade applikationer
- Tillvägagångssättet för MVC-apputveckling måste bestämmas baserat på applikationskraven och funktionerna som tillhandahålls av ASP .net MVC för att passa de specifika utvecklingsbehoven.
- Applikationsutvecklingsprocessen med ASP .NET MVC är mer komplex jämfört med webbformulärbaserade applikationer.
- Applikationsunderhållbarheten är alltid högre med separation av applikationsuppgifter.

MVC är ett mjukvaruarkitekturmönster som följer separationsmetoden. I denna modell är .Net-applikationer uppdelade i tre sammankopplade delar som kallas Model, View och Controller.
Målet med MVC-mönstret är att var och en av dessa delar kan utvecklas, testas i relativ isolering och även kombineras för att skapa en mycket robust applikation.
Låt se dem alla i detalj:
Modeller
Modellobjekt är delar av applikationen som implementerar logiken för applikationens datadomän. Den hämtar och lagrar modelltillstånd i en databas. Till exempel kan produktobjekt hämta information från en databas, operera på det. Skriv sedan tillbaka information till produkttabellen i SQL-servern.
Visningar
Views är de komponenter som används för att visa applikationens användargränssnitt (UI) även kallat viewmodel i MVC. Den visar .Net MVC-applikationen som skapas från modelldata.
Det vanliga exemplet skulle vara en redigeringsvy av en artikeltabell. Den visar textrutor, popup-fönster och kryssrutor baserat på det aktuella tillståndet för produkter och objekt.
Regulator
Styrenheter hanterar användarinteraktion, arbetar med modellen och väljer en vy för att återge den displayen Ul. I en .Net MVC-app visar vyn endast information, styrenheten hanterar och svarar på användarinput och interaktion med hjälp av åtgärdsfilter i MVC.
Till exempel hanterar styrenheten frågesträngsvärden och skickar dessa värden till modellen.
Webbformulär kontra MVC
| Driftparametrar | WebFroms | MVC |
|---|---|---|
| Modell | Asp.Net Web Forms följer händelsedriven utvecklingsmodell. | Asp.Net MVC använder MVC-mönsterbaserad utvecklingsmodell. |
| Används sedan | Har funnits sedan 2002 | Den släpptes första gången 2009 |
| Stöd för View state | Asp.Net Web Form stöder visningstillstånd för tillståndshantering på klientsidan. | .Net MVC stöder inte visningstillstånd. |
| URL-typ | Asp.Net Web Form har filbaserade URL:er. Det betyder att filnamnet finns i webbadresserna och att de måste finnas fysiskt. | Asp.Net MVC har ruttbaserade URL:er som betyder URL:er som omdirigeras till kontroller och åtgärder. |
| syntax | Asp.Net MVC följer syntaxen för webbformulär. | Asp.Net MVC följer den anpassningsbara syntaxen. |
| Visa typ | Web Form, vyer är tätt kopplade till kod bakom (ASPX-CS), dvs logik. | MVC, vyer och logik hålls alltid separat. |
| Konsekvent utseende och känsla | Den har huvudsidor för ett konsekvent utseende. | Asp.Net MVC har layouter för ett konsekvent utseende. |
| Kod Återanvändbarhet | Web Form erbjuder användarkontroller för återanvändning av kod. | Asp.Net MVC har erbjudit partiella vyer för återanvändning av kod. |
| Kontroll för HTML | Less kontroll över renderad HTML. | Full kontroll över HTML |
| Statlig ledning | Automatisk tillståndshantering av kontroller. | Manuell tillståndshantering. |
| TDD-stöd | Svag eller anpassad TDD krävs. | Uppmuntrar och inkluderar TDD! |
Fördelar med ASP.NET MVC
- Mycket underhållbara applikationer som standard
- Det låter dig ersätta vilken komponent som helst i applikationen.
- Bättre stöd för testdriven utveckling
- Komplexa applikationer är lätta att hantera på grund av uppdelningar av modell, vy och styrenheter.
- Erbjuder robust dirigeringsmekanism med frontkontrollmönster
- Erbjuder bättre kontroll över applikationsbeteende med eliminering av visningstillstånd och serverbaserade formulär
- .Net MVC-applikationer stöds av stora team av utvecklare och webbdesigners
- Det ger mer kontroll över applikationens beteende. Den använder också en optimerad bandbredd för förfrågningar till servern
Nackdelar med ASP.NET MVC
- Du kan inte se förhandsgranskning av designsidan som .aspx-sidan.
- Du måste köra programmet varje gång för att se den faktiska designen.
- Att förstå flödet i applikationen kan vara utmanande
- Det är ganska komplicerat att implementera, så det är inte ett idealiskt alternativ för applikationer på små nivåer
- Det är svårt att lära sig MVC för ASP.NET, eftersom det kräver en stor förståelse för MVC-mönster
Bästa metoder när du använder ASP.Net MVC
- Skapa en separat sammansättning för MODELL vid stor och komplex kod för att undvika oönskade situationer o
- Modellen bör inkludera affärslogik, sessionsunderhåll, valideringsdel och datalogikdel.
- VIEW ska inte innehålla någon affärslogik och sessionsunderhåll, använd ViewData för att komma åt data i View
- Affärslogik och dataåtkomst bör aldrig förekomma i ControllerViewData
- Den registeransvarige ska endast ansvara för att förbereda och returnera en vy, anropsmodell, omdirigering till handling, etc.
- Ta bort demokod från applikationen när du skapar den. Ta bort AccountController
- Använd endast specifik visningsmotor för att skapa HTML-uppmärkning från din vy eftersom det är en kombination av HTML och programmeringskoden.
Sammanfattning
- ASP.NET MVC är ett ramverk för webbutveckling med öppen källkod från Microsoft som ger en Model View Controller-arkitektur.
- ASP.net MVC erbjuder ett alternativ till ASP.net webbformulär för att bygga webbapplikationer.
- Huvudproblemet med ASP.net webForms är prestanda.
- ASP.net MVC erbjuder enkel och friktionsfri testbarhet med full kontroll över dina HTML och webbadresser.
- Du måste komma ihåg att ASP .net MVC INTE är en ersättning för ASP.Net webbformulärbaserade applikationer.
- Tillvägagångssättet för MVC-apputveckling eller ASP.NET MVC Life Cycle måste bestämmas baserat på applikationskraven och funktionerna som tillhandahålls av ASP .net MVC för att passa de specifika utvecklingsbehoven.
- ASP.NET MVC erbjuder mycket underhållbara applikationer som standard.
- Med ASP.net kan du inte se förhandsgranskning av designsidan som .aspx-sidan.
- Som en bästa praxis bör modellen inkludera affärslogik, sessionsunderhåll, valideringsdel och datalogikdel.
