ASP.NET MVC õpetus algajatele: mis on Architektuur

Mis on ASP.NET MVC?

ASP.NET MVC on avatud lähtekoodiga veebiarendusraamistik Microsoft mis pakub mudelivaate kontrolleri arhitektuuri. ASP.net MVC pakub veebirakenduste loomiseks alternatiivi ASP.net veebivormidele. See on osa .Neti platvormist veebirakenduste loomiseks, juurutamiseks ja käitamiseks. Veebirakendusi ja veebisaite saate arendada HTML-i, CSS-i, jQuery, JavascriptJne

Õppige MVC-d selle ASP.NET MVC õpetusega, mis hõlmab kõiki algajatele mõeldud MVC põhikontseptsioone:

Miks ASP.net MVC?

Kuigi veebivormid olid väga edukad, Microsoft mõtlesin arendada ASP.net MVC. ASP.net webFormsi peamine probleem on jõudlus.

Aastal veebirakendus, on jõudlust määravad neli peamist aspekti:

  • Probleemid reageerimisajaga
  • Ühiku testimise probleem
  • HTML-i kohandamine
  • Klassi kooditagune korduvkasutatavus

ASP.net MVC paistab silma ülaltoodud parameetritega.

MVC versiooni ajalugu

ASP.NET MVC1

  • Välja antud 13. märtsil 2009
  • See töötab võrgus.NET 3.5
  • Visual Studio 2008
  • MVC mustri arhitektuur WebForm Engine'iga
  • Peamised funktsioonid hõlmavad HTML-i ja Üksuse testimine, Ajaxi abistajad, marsruutimine jne.

ASP.NET MVC2

  • See versioon avaldati 10. märtsil 2010
  • Töötab .NET 3.5,4.0, XNUMX ja koos Microsoft Visual Studio 2008
  • Kaasake sellised funktsioonid nagu malliga abilised, automaatse tellingute ja kohandatavate mallidega Ul-abilised
  • See toetab DataAnnotations atribuute, et rakendada mudeli valideerimist kliendi ja serveri poolel

ASP.NET MVC3

  • See ilmus 13. jaanuaril 2011
  • Töötab .NET 4.0, XNUMX ja koos Microsoft Visual Studio 2010
  • N kasutamineuGet tarkvara tarnimiseks ja võimaldab hallata sõltuvusi kogu platvormil
  • Parem JavaSkripti tugi koos jQuery valideerimise ja JSON-i sidumisega
  • See pakub selliseid funktsioone nagu Razor-vaatemootor; täiustatud Data Annotations atribuudid mudeli valideerimiseks nii kliendi kui ka serveri poolel

ASP.NET MVC4

  • See versioon ilmus augustis 2012
  • See töötab versioonides .NET 4.0 ja 4.5 ning koos Visual Studio 2010 ja Visual Studio 2012
  • Vaikeprojektimallide täiustused
  • Pakub selliseid funktsioone nagu jQuery Mobile'i kasutav mobiiliprojekti mall, asünkroonsete kontrollerite ülesannete tugi, komplekteerimine, minimeerimine jne.

ASP.NET MVC5

  • Välja antud 17. oktoobril 2013
  • Töötab versioonides .NET 4.5, 4.5.1 ning Visual Studio 2012 ja Visual OneASP.NET-iga
  • Toetab atribuutide marsruutimist MVC-s

MVC omadused

  • Lihtne ja hõõrdumiseta testitavus
  • Täielik kontroll oma HTML-i üle, JavaSkript ja URL-id
  • Võimenda olemasolevat ASP.Net FUNKTSIOONID
  • ASP.Neti uus esitlusvõimalus
  • Lihtsam viis Asp.Neti programmeerimiseks
  • Loogika selge eraldamine: mudel, vaade, kontroller
  • Testipõhine arendus
  • Paralleelarenduse toetus

Asjad, mida MVC rakenduse loomisel meeles pidada

Siin on mõned kasulikud asjad selles ASP.NET MVC õpetuses, mida peate MVC rakenduse loomisel meeles pidama.

  • Peate meeles pidama, et ASP .net MVC EI asenda ASP.Neti veebivormipõhiseid rakendusi
  • MVC rakenduste arendamise lähenemisviis tuleb otsustada ASP .net MVC pakutavate rakendusnõuete ja funktsioonide põhjal, et see vastaks konkreetsetele arendusvajadustele.
  • Rakenduste arendusprotsess ASP .NET MVC-ga on veebivormipõhiste rakendustega võrreldes keerulisem.
  • Rakenduste hooldatavus on alati suurem rakenduse ülesannete eraldamisega.
MVC arhitektuurimuster
MVC arhitektuurimuster

MVC on tarkvaraarhitektuuri muster, mis järgib probleemide eraldamise meetodit. Selles mudelis on .Neti rakendused jagatud kolmeks omavahel ühendatud osaks, mida nimetatakse mudeliks, vaateks ja kontrolleriks.

MVC mustri eesmärk on, et kõiki neid osi saab arendada, katsetada suhtelises isolatsioonis ja ka kombineerida, et luua väga tugev rakendus.

Vaatame neid kõiki üksikasjalikult:

Mudelid

Mudelobjektid on rakenduse osad, mis rakendavad rakenduse loogikat andmedomeen. See otsib ja salvestab mudeli oleku andmebaasi. Näiteks võib tooteobjekt hankida teavet aadressilt a andmebaas, opereerige seda. Seejärel kirjutage teave tagasi SQL-serveri toodete tabelisse.

views

Vaated on komponendid, mida kasutatakse rakenduse kasutajaliidese (UI) kuvamiseks, mida MVC-s nimetatakse ka vaatemudeliks. See kuvab mudeliandmete põhjal loodud .Net MVC rakenduse.

Tavaline näide on üksuse tabeli redigeerimisvaade. See kuvab tekstiväljad, hüpikaknad ja märkeruudud, mis põhinevad toodete ja objektide hetkeseisul.

kontroller

Kontrollerid tegelevad kasutaja interaktsiooniga, töötavad mudeliga ja valivad kuva Ul. .Neti MVC rakenduses kuvab vaade ainult teavet, kontroller haldab ja reageerib kasutaja sisendile ja interaktsioonile, kasutades MVC tegevusfiltreid.

Näiteks haldab kontroller päringustringi väärtusi ja edastab need väärtused mudelile.

Veebivormid vs. MVC

parameetrid WebFroms MVC
MUDEL Asp.Net Web Forms järgib sündmustepõhist arendusmudelit. Asp.Net MVC kasutab MVC mustripõhist arendusmudelit.
Kasutatud alates Tegutsenud aastast 2002 See ilmus esmakordselt 2009. aastal
View oleku tugi Asp.Net Web Form toetab olekuhalduse vaate olekut kliendi poolel. .Net MVC ei toeta vaate olekut.
URL-i tüüp Asp.Net Web Formil on failipõhised URL-id. See tähendab, et URL-ides on failinimi olemas ja need peavad füüsiliselt eksisteerima. Asp.Net MVC-l on marsruudipõhised URL-id, mis tähendab URL-e, mis suunatakse ümber kontrolleritele ja toimingutele.
Süntaks Asp.Net MVC järgib veebivormide süntaksit. Asp.Net MVC järgib kohandatavat süntaksit.
Vaate tüüp Veebivorm, vaated on tihedalt seotud tagakoodiga (ASPX-CS), st loogikaga. MVC, vaated ja loogika hoitakse alati eraldi.
Ühtlane välimus ja tunne Sellel on ühtse välimuse jaoks põhilehed. Asp.Net MVC-l on ühtse välimuse jaoks paigutused.
Koodi korduvkasutatavus Veebivorm pakub koodi taaskasutamiseks kasutaja juhtelemente. Asp.Net MVC on pakkunud osalisi vaateid koodi taaskasutamiseks.
HTML-i juhtimine Less renderdatud HTML-i juhtimine. Täielik kontroll HTML-i üle
Riigi juhtimine Juhtelementide automaatne olekuhaldus. Käsitsi olekujuhtimine.
TDD tugi Nõutav on nõrk või kohandatud TDD. Julgustab ja sisaldab TDD-d!

ASP.NET MVC eelised

  • Vaikimisi hästi hooldatavad rakendused
  • See võimaldab teil asendada rakenduse mis tahes komponendi.
  • Testipõhise arenduse parem tugi
  • Keerulisi rakendusi on mudeli-, vaate- ja kontrollerijaotuse tõttu lihtne hallata.
  • Pakub tugevat marsruutimismehhanismi eesmise kontrolleri mustriga
  • Pakub paremat kontrolli rakenduste käitumise üle, välistades vaate oleku ja serveripõhised vormid
  • .Net MVC rakendusi toetavad suured arendajate ja veebidisainerite meeskonnad
  • See pakub suuremat kontrolli rakenduse käitumise üle. Samuti kasutab see optimeeritud ribalaiust serverile tehtud päringute jaoks

ASP.NET MVC puudused

  • Te ei näe kujunduslehe eelvaadet nagu .aspx-leht.
  • Peate programmi iga kord käivitama, et näha selle tegelikku kujundust.
  • Rakenduse voolu mõistmine võib olla keeruline
  • Selle rakendamine on üsna keeruline, seega pole see ideaalne võimalus väikese taseme rakenduste jaoks
  • MVC-d on ASP.NET-i jaoks raske õppida, kuna see nõuab MVC mustri suurt mõistmist

Parimad tavad ASP.Net MVC kasutamisel

  • Suure ja keerulise koodi korral looge mudelile MODEL eraldi koost, et vältida soovimatuid olukordi o
  • Mudel peaks sisaldama äriloogikat, seansi hooldust, valideerimisosa ja andmeloogika osa.
  • VIEW ei tohiks sisaldada äriloogikat ega seansi hooldust, kasutage ViewData andmetele juurdepääsuks
  • Äriloogikat ja andmetele juurdepääsu ei tohiks ControllerViewDatas kunagi esineda
  • Kontroller peaks vastutama ainult vaate ettevalmistamise ja tagastamise, mudeli kutsumise, tegevusele ümbersuunamise jms eest.
  • Kustutage rakendusest demokood selle loomisel Kustuta AccountController
  • Kasutage oma vaatest HTML-märgistuse loomiseks ainult kindlat vaatemootorit, kuna see on HTML-i ja programmeerimiskoodi kombinatsioon.

kokkuvõte

  • ASP.NET MVC on avatud lähtekoodiga veebiarendusraamistik Microsoft mis annab a Model View Controlleri arhitektuur.
  • ASP.net MVC pakub veebirakenduste loomiseks alternatiivi ASP.net veebivormidele.
  • ASP.net webFormsi peamine probleem on jõudlus.
  • ASP.net MVC pakub lihtsat ja hõõrdumatut testimist koos täieliku kontrolliga teie HTML-i ja URL-ide üle.
  • Peate meeles pidama, et ASP .net MVC EI asenda ASP.Neti veebivormipõhiseid rakendusi.
  • MVC rakenduste arendamise või ASP.NET MVC elutsükli lähenemisviis tuleb otsustada ASP .net MVC pakutavate rakendusnõuete ja funktsioonide põhjal, et see vastaks konkreetsetele arendusvajadustele.
  • ASP.NET MVC pakub vaikimisi väga hooldatavaid rakendusi.
  • ASP.net-iga ei näe te kujunduslehe eelvaadet nagu .aspx-leht.
  • Parima tavana peaks mudel sisaldama äriloogikat, seansi hooldust, valideerimisosa ja andmeloogika osa.

Võta see postitus kokku järgmiselt: