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 arkitektonisk mønster
MVC arkitektonisk mønster

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.

Oppsummer dette innlegget med: