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.
