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: