ASP.NET MVC-veiledning for nybegynnere: Hva er, Architecture
Hva er ASP.NET MVC?
ASP.NET MVC er et åpen kildekode-nettutviklingsrammeverk fra Microsoft som gir en Model View Controller-arkitektur. ASP.net MVC tilbyr et alternativ til ASP.net webskjemaer for å bygge webapplikasjoner. Det er en del av .Net-plattformen for å bygge, distribuere og kjøre nettapper. Du kan utvikle nettapper og nettsider ved hjelp av HTML, CSS, jQuery, JavascriptOsv
Lær MVC med denne ASP.NET MVC-opplæringen som dekker alle de grunnleggende konseptene til MVC for nybegynnere:
Hvorfor ASP.net MVC?
Selv om nettskjemaer var svært vellykkede, Microsoft tenkte på å utvikle ASP.net MVC. Hovedproblemet med ASP.net webForms er ytelse.
I en webapplikasjon, er det fire hovedaspekter som definerer ytelse:-
- Problemer med responstid
- Problem med enhetstesting
- HTML-tilpasning
- Gjenbrukbarhet av kode-bak-klassen
ASP.net MVC utmerker seg på parametrene ovenfor.
Versjonshistorikk for MVC
ASP.NET MVC1
- Utgitt 13. mars 2009
- Den kjører på.NET 3.5
- Visual Studio 2008
- MVC-mønsterarkitektur med WebForm Engine
- Hovedfunksjoner inkluderer HTML og Enhetstesting, Ajax-hjelpere, ruting osv.
ASP.NET MVC2
- Denne versjonen utgitt 10. mars 2010
- Kjører på .NET 3.5,4.0 og med Microsoft Visual Studio 2008
- Inkluder funksjoner som malte hjelpere, Ul-hjelpere med automatisk stillas og tilpassbare maler
- Den støtter for DataAnnotations-attributter for å bruke modellvalidering på klient- og serversiden
ASP.NET MVC3
- Den ble utgitt 13. januar 2011
- Kjører på .NET 4.0 og med Microsoft Visual Studio 2010
- Bruk av NuGet å levere programvare og lar deg administrere avhengigheter på tvers av plattformen
- Bedre JavaSkriptstøtte med jQuery-validering og JSON-binding
- Den tilbyr funksjoner som Razor view-motoren; forbedrede Data Annotations-attributter for modellvalidering på både klient- og serversiden
ASP.NET MVC4
- Denne versjonen ble utgitt i august 2012
- Den kjører på .NET 4.0, 4.5 og med Visual Studio 2010 og Visual Studio 2012
- Forbedringer av standard prosjektmaler
- Tilbyr funksjoner som mobil prosjektmal ved bruk av jQuery Mobile, oppgavestøtte for asynkrone kontrollere, bunting, minifikasjon, etc.
ASP.NET MVC5
- Utgitt 17. oktober 2013
- Kjører på .NET 4.5, 4.5.1 og med Visual Studio 2012 og Visual OneASP.NET
- Støtter attributtruting i MVC
Funksjoner av MVC
- Enkel og friksjonsfri testbarhet
- Full kontroll over HTML-en din, JavaSkript og URL-er
- Utnytt eksisterende ASP.Net Funksjoner
- Et nytt presentasjonsalternativ for ASP.Net
- En enklere måte å programmere Asp.Net på
- Tydelig separasjon av logikk: Modell, View, Controller
- Testdrevet utvikling
- Støtte til parallell utvikling
Ting å huske på når du lager MVC-applikasjon
Her er noen nyttige ting i denne ASP.NET MVC-opplæringen som du må huske for å lage MVC-applikasjon:
- Du må huske at ASP .net MVC IKKE er en erstatning for ASP.Net nettskjemabaserte applikasjoner
- Tilnærmingen til MVC-apputvikling må avgjøres basert på applikasjonskravene og funksjonene som tilbys av ASP .net MVC for å passe de spesifikke utviklingsbehovene.
- Applikasjonsutviklingsprosessen med ASP .NET MVC er mer kompleks sammenlignet med nettskjemabaserte applikasjoner.
- Applikasjonsvedlikeholdbarheten er alltid høyere med separasjon av applikasjonsoppgaver.

MVC er et programvarearkitekturmønster som følger separasjonsmetoden. I denne modellen er .Net-applikasjoner delt inn i tre sammenkoblede deler som kalles Model, View og Controller.
Målet med MVC-mønsteret er at hver av disse delene kan utvikles, testes i relativ isolasjon og også kombineres for å skape en svært robust applikasjon.
La dem se alle i detalj:
Modeller
Modellobjekter er deler av applikasjonen som implementerer logikken for applikasjonens datadomene. Den henter og lagrer modelltilstand i en database. For eksempel kan produktobjekt hente informasjon fra en database, operere på den. Skriv deretter informasjon tilbake til produkttabellen i SQL-serveren.
Visninger
Visninger er komponentene som brukes til å vise applikasjonens brukergrensesnitt (UI) også kalt viewmodel i MVC. Den viser .Net MVC-applikasjonen som er opprettet fra modelldataene.
Det vanlige eksemplet vil være en redigeringsvisning av en varetabell. Den viser tekstbokser, popup-vinduer og avmerkingsbokser basert på gjeldende status for produkter og objekt.
controller
Kontrollere håndterer brukerinteraksjon, arbeider med modellen og velger en visning for å gjengi den visningen Ul. I en .Net MVC-app viser visningen kun informasjon, kontrolleren administrerer og reagerer på brukerinnspill og interaksjon ved hjelp av handlingsfiltre i MVC.
For eksempel administrerer kontrolleren spørrestrengverdier og sender disse verdiene til modellen.
Nettskjemaer vs. MVC
| Parametre | WebFroms | MVC |
|---|---|---|
| Modell | Asp.Net Web Forms følger hendelsesdrevet utviklingsmodell. | Asp.Net MVC bruker MVC-mønsterbasert utviklingsmodell. |
| Brukt siden | Har eksistert siden 2002 | Den ble først utgitt i 2009 |
| Støtte for visningstilstand | Asp.Net Web Form støtter view state for state management på klientsiden. | .Net MVC støtter ikke visningstilstand. |
| URL-type | Asp.Net Web Form har filbaserte URL-er. Det betyr at filnavnet finnes i URL-ene og at de må eksistere fysisk. | Asp.Net MVC har rutebaserte URL-er som betyr URL-er som blir omdirigert til kontrollere og handlinger. |
| syntax | Asp.Net MVC følger Web Forms Syntax. | Asp.Net MVC følger den tilpassbare syntaksen. |
| Visningstype | Web Form, visninger er tett koblet til kode bak (ASPX-CS), dvs. logikk. | MVC, visninger og logikk holdes alltid separat. |
| Konsekvent utseende og følelse | Den har hovedsider for et konsistent utseende. | Asp.Net MVC har oppsett for et konsistent utseende. |
| Kode Gjenbrukbarhet | Webskjema tilbyr brukerkontroller for gjenbruk av kode. | Asp.Net MVC har tilbudt delvise visninger for gjenbruk av kode. |
| Kontroll for HTML | Less kontroll over gjengitt HTML. | Full kontroll over HTML |
| Statlig ledelse | Automatisk tilstandsstyring av kontroller. | Manuell statsstyring. |
| TDD-støtte | Svak eller tilpasset TDD kreves. | Oppmuntrer og inkluderer TDD! |
Fordeler med ASP.NET MVC
- Svært vedlikeholdbare applikasjoner som standard
- Den lar deg erstatte hvilken som helst komponent i applikasjonen.
- Bedre støtte for testdrevet utvikling
- Komplekse applikasjoner er enkle å administrere på grunn av inndelinger av modell, visning og kontroller.
- Tilbyr robust rutemekanisme med frontkontrollmønster
- Tilbyr bedre kontroll over applikasjonsatferd med eliminering av visningstilstand og serverbaserte skjemaer
- .Net MVC-applikasjoner støttes av store team av utviklere og webdesignere
- Det gir mer kontroll over oppførselen til applikasjonen. Den bruker også en optimalisert båndbredde for forespørsler til serveren
Ulemper med ASP.NET MVC
- Du kan ikke se forhåndsvisning av designside som .aspx-siden.
- Du må kjøre programmet hver gang for å se det faktiske designet.
- Å forstå flyten av applikasjonen kan være utfordrende
- Det er ganske komplisert å implementere, så det er ikke et ideelt alternativ for små applikasjoner
- Det er vanskelig å lære MVC for ASP.NET, da det krever en god forståelse av MVC-mønster
Beste praksis når du bruker ASP.Net MVC
- Lag en egen sammenstilling for MODELL i tilfelle stor og kompleks kode for å unngå uønskede situasjoner o
- Modellen bør inkludere forretningslogikk, øktvedlikehold, valideringsdel og datalogikkdel.
- VIEW skal ikke inneholde forretningslogikk og øktvedlikehold, bruk ViewData for å få tilgang til data i View
- Forretningslogikk og datatilgang skal aldri forekomme i ControllerViewData
- Kontrolløren skal kun være ansvarlig for å utarbeide og returnere en visning, anropsmodell, omdirigering til handling, etc.
- Slett demokode fra applikasjonen når du oppretter den Slett AccountController
- Bruk bare spesifikke visningsmotorer for å lage HTML-markering fra visningen din, da det er kombinasjonen av HTML og programmeringskoden.
Sammendrag
- ASP.NET MVC er et open source webutviklingsrammeverk fra Microsoft som gir en Model View Controller-arkitektur.
- ASP.net MVC tilbyr et alternativ til ASP.net webskjemaer for å bygge webapplikasjoner.
- Hovedproblemet med ASP.net webForms er ytelse.
- ASP.net MVC tilbyr enkel og friksjonsfri testbarhet med full kontroll over HTML og URL-er.
- Du må huske at ASP .net MVC IKKE er en erstatning for ASP.Net webskjemabaserte applikasjoner.
- Tilnærmingen til MVC-apputvikling eller ASP.NET MVC-livssyklus må avgjøres basert på applikasjonskravene og funksjonene som tilbys av ASP .net MVC for å passe de spesifikke utviklingsbehovene.
- ASP.NET MVC tilbyr svært vedlikeholdbare applikasjoner som standard.
- Med ASP.net kan du ikke se forhåndsvisning av designside som .aspx-siden.
- Som en beste praksis bør modellen inkludere forretningslogikk, øktvedlikehold, valideringsdel og datalogikkdel.
