ASP.NET MVC vodič za početnike: Što je, Architektura
Što je ASP.NET MVC?
ASP.NET MVC je open source web development framework iz Microsoft koji pruža arhitekturu kontrolera prikaza modela. ASP.net MVC nudi alternativu ASP.net web obrascima za izradu web aplikacija. To je dio .Net platforme za izgradnju, implementaciju i pokretanje web aplikacija. Možete razviti web aplikacije i web stranice uz pomoć HTML, CSS, jQuery, Javascript, Itd
Naučite MVC pomoću ovog vodiča za ASP.NET MVC koji pokriva sve osnovne koncepte MVC-a za početnike:
Zašto ASP.net MVC?
Iako su web obrasci bili vrlo uspješni, Microsoft razmišljao o razvoju ASP.net MVC. Glavni problem s ASP.net webForms je izvedba.
U web aplikacija, četiri su glavna aspekta koja definiraju izvedbu:-
- Problemi s vremenom odgovora
- Problem jediničnog testiranja
- HTML prilagodba
- Ponovno korištenje klase iza koda
ASP.net MVC ističe se po gore navedenim parametrima.
Povijest verzija MVC-a
ASP.NET MVC1
- Objavljeno 13. ožujka 2009
- Radi na .NET 3.5
- Visual Studio 2008
- MVC Pattern arhitektura s WebForm Engineom
- Glavne značajke uključuju Html & Ispitivanje jedinice, Ajax pomagači, usmjeravanje itd.
ASP.NET MVC2
- Ova verzija objavljena je 10. ožujka 2010
- Radi na .NET 3.5,4.0 i sa Microsoft Visual Studio 2008
- Uključi značajke kao što su pomoćnici s predlošcima, Ul pomoćnici s automatskim postavljanjem skela i prilagodljivi predlošci
- Podržava atribute DataAnnotations za primjenu provjere valjanosti modela na strani klijenta i poslužitelja
ASP.NET MVC3
- Objavljen je 13. siječnja 2011
- Radi na .NET 4.0 i sa Microsoft Visual Studio 2010
- Upotreba NuGet za isporuku softvera i omogućuje vam upravljanje ovisnostima na cijeloj platformi
- Bolje JavaPodrška za skriptu s jQuery provjerom valjanosti i JSON povezivanjem
- Nudi značajke kao što su Razor view engine; poboljšani atributi Data Annotations za provjeru valjanosti modela na strani klijenta i poslužitelja
ASP.NET MVC4
- Ova verzija je objavljena u kolovozu 2012
- Radi na .NET 4.0, 4.5 i s Visual Studio 2010 & Visual Studio 2012
- Poboljšanja zadanih predložaka projekta
- Nudi značajke kao što je predložak mobilnog projekta koji koristi jQuery Mobile, podrška za zadatke za asinkrone kontrolere, grupiranje, smanjivanje itd.
ASP.NET MVC5
- Objavljeno 17. listopada 2013
- Radi na .NET 4.5, 4.5.1 i s Visual Studio 2012 & Visual OneASP.NET
- Podržava usmjeravanje atributa u MVC-u
Značajke MVC-a
- Jednostavna provjera bez trenja
- Potpuna kontrola nad vašim HTML-om, JavaSkripta i URL-ovi
- Poluga postoji ASP.Net Značajke
- Nova prezentacijska opcija za ASP.Net
- Jednostavniji način programiranja Asp.Neta
- Jasno razdvajanje logike: model, pogled, kontroler
- Razvoj vođen testiranjem
- Podrška za paralelni razvoj
Stvari koje treba zapamtiti prilikom izrade MVC aplikacije
Evo nekoliko korisnih stvari u ovom vodiču za ASP.NET MVC koje trebate zapamtiti za izradu MVC aplikacije:
- Morate zapamtiti da ASP .net MVC NIJE zamjena za ASP.Net aplikacije temeljene na web obrascima
- Pristup razvoju MVC aplikacije mora se odlučiti na temelju zahtjeva aplikacije i značajki koje pruža ASP .net MVC kako bi odgovarao specifičnim razvojnim potrebama.
- Proces razvoja aplikacije s ASP .NET MVC složeniji je u usporedbi s aplikacijama koje se temelje na web obrascima.
- Mogućnost održavanja aplikacije uvijek je veća s odvajanjem aplikacijskih zadataka.
MVC je obrazac softverske arhitekture koji slijedi metodu odvajanja problema. U ovom modelu .Net aplikacije podijeljene su u tri međusobno povezana dijela koji se nazivaju Model, View i Controller.
Cilj MVC uzorka je da se svaki od ovih dijelova može razviti, testirati u relativnoj izolaciji i također kombinirati kako bi se stvorila vrlo robusna aplikacija.
Pogledajmo ih sve detaljno:
Modeli
Objekti modela su dijelovi aplikacije koji implementiraju logiku za aplikaciju domena podataka. Dohvaća i pohranjuje stanje modela u bazu podataka. Na primjer, objekt proizvoda može dohvatiti informacije iz a baza podataka, operirajte ga. Zatim zapišite informacije natrag u tablicu proizvoda na SQL poslužitelju.
Posjeta
Pogledi su komponente koje se koriste za prikaz korisničkog sučelja (UI) aplikacije koje se u MVC-u naziva i model prikaza. Prikazuje .Net MVC aplikaciju koja je stvorena iz podataka modela.
Uobičajeni primjer bio bi prikaz za uređivanje tablice stavki. Prikazuje tekstne okvire, skočne prozore i potvrdne okvire na temelju trenutnog stanja proizvoda i objekta.
kontrolor
Kontroleri upravljaju interakcijom korisnika, rade s modelom i odabiru pogled za renderiranje tog prikaza Ul. U .Net MVC aplikaciji prikaz prikazuje samo informacije, kontroler upravlja i odgovara na korisnički unos i interakciju pomoću filtara radnji u MVC-u.
Na primjer, kontroler upravlja vrijednostima niza upita i prosljeđuje te vrijednosti modelu.
Web obrasci u odnosu na MVC
Parametri | WebFroms | VMC |
---|---|---|
Model | Asp.Net Web Forms slijede razvojni model vođen događajima. | Asp.Net MVC koristi razvojni model temeljen na MVC obrascima. |
Koristi se od | Postoji od 2002 | Prvi put je objavljen 2009. godine |
Podrška za stanje prikaza | Asp.Net Web Form podržava stanje prikaza za upravljanje stanjem na strani klijenta. | .Net MVC ne podržava stanje prikaza. |
Vrsta URL-a | Asp.Net Web Form ima URL-ove temeljene na datotekama. To znači da naziv datoteke postoji u URL-ovima i moraju postojati fizički. | Asp.Net MVC ima URL-ove koji se temelje na ruti, što znači URL-ove koji su preusmjereni na kontrolere i radnje. |
Sintaksa | Asp.Net MVC slijedi sintaksu web obrazaca. | Asp.Net MVC slijedi prilagodljivu sintaksu. |
Vrsta pogleda | Web obrazac, prikazi su usko povezani s kodom iza (ASPX-CS), tj. logikom. | MVC, pogledi i logika uvijek se drže odvojeno. |
Dosljedan izgled i osjećaj | Ima glavne stranice za dosljedan izgled. | Asp.Net MVC ima rasporede za dosljedan izgled. |
Mogućnost ponovne upotrebe koda | Web Form nudi korisničke kontrole za ponovnu upotrebu koda. | Asp.Net MVC nudi djelomične prikaze za ponovnu upotrebu koda. |
Kontrola za HTML | Less kontrolu nad prikazanim HTML-om. | Potpuna kontrola nad HTML-om |
Upravljanje državom | Automatsko upravljanje stanjem kontrola. | Ručno upravljanje stanjem. |
TDD podrška | Potreban je slab ili prilagođeni TDD. | Potiče i uključuje TDD! |
Prednosti ASP.NET MVC
- Zadane aplikacije koje se lako održavaju
- Omogućuje vam zamjenu bilo koje komponente aplikacije.
- Bolja podrška za razvoj vođen testiranjem
- Složenim aplikacijama lako je upravljati zbog podjele na model, pogled i kontrolere.
- Nudi robustan mehanizam za usmjeravanje s uzorkom prednjeg upravljača
- Nudi bolju kontrolu nad ponašanjem aplikacije uz eliminaciju stanja prikaza i obrazaca temeljenih na poslužitelju
- .Net MVC aplikacije podržavaju veliki timovi programera i web dizajnera
- Nudi više kontrole nad ponašanjem aplikacije. Također koristi optimiziranu propusnost za zahtjeve upućene poslužitelju
Nedostaci ASP.NET MVC
- Ne možete vidjeti pregled stranice dizajna kao što je .aspx stranica.
- Morate pokrenuti program svaki put da vidite njegov stvarni dizajn.
- Razumijevanje tijeka aplikacije može biti izazovno
- Prilično je kompliciran za implementaciju, tako da nije idealna opcija za male aplikacije
- Teško je naučiti MVC za ASP.NET jer zahtijeva dobro razumijevanje MVC uzorka
Najbolje prakse pri korištenju ASP.Net MVC
- Stvorite zasebnu montažu za MODEL u slučaju velikog i složenog koda kako biste izbjegli bilo kakvu neželjenu situaciju o
- Model bi trebao uključivati poslovnu logiku, održavanje sesije, dio za provjeru valjanosti i dio za logiku podataka.
- VIEW ne bi trebao sadržavati nikakvu poslovnu logiku i održavanje sesije, koristite ViewData za pristup podacima u Viewu
- Poslovna logika i pristup podacima nikada se ne bi smjeli pojaviti u ControllerViewData
- Kontrolor bi trebao biti odgovoran samo za pripremu i vraćanje prikaza, pozivanje modela, preusmjeravanje na radnju itd.
- Izbrišite demo kod iz aplikacije kada je izradite. Izbrišite AccountController
- Koristite samo određeni mehanizam prikaza za stvaranje HTML markupa iz vašeg prikaza jer je to kombinacija HTML-a i programskog koda.
Rezime
- ASP.NET MVC je open source web development framework iz Microsoft koji pruža a Arhitektura kontrolera prikaza modela.
- ASP.net MVC nudi alternativu ASP.net web obrascima za izradu web aplikacija.
- Glavni problem s ASP.net webForms je izvedba.
- ASP.net MVC nudi jednostavnu i neometanu mogućnost testiranja s potpunom kontrolom nad vašim HTML-om i URL-ovima.
- Morate upamtiti da ASP .net MVC NIJE zamjena za aplikacije temeljene na ASP.Net web obrascima.
- Pristup razvoju MVC aplikacije ili ASP.NET MVC životnog ciklusa mora se odlučiti na temelju zahtjeva aplikacije i značajki koje pruža ASP .net MVC kako bi odgovarao specifičnim razvojnim potrebama.
- ASP.NET MVC prema zadanim postavkama nudi aplikacije koje se lako održavaju.
- Uz ASP.net ne možete vidjeti pregled stranice dizajna kao što je .aspx stranica.
- Kao najbolja praksa, model bi trebao uključivati poslovnu logiku, održavanje sesije, dio za provjeru valjanosti i dio za logiku podataka.