ASP.NET MVC vodič za početnike: Što je, Architektura
⚡ Pametni sažetak
ASP.NET MVC je otvoreni kod Microsoft Framework koji web aplikaciju dijeli na slojeve Model, View i Controller, dajući programerima potpunu kontrolu nad HTML-om, kod koji se može testirati, čisto usmjeravanje i laganu alternativu klasičnim web obrascima.
Što je ASP.NET MVC?
ASP.NET MVC je open source web development framework iz Microsoft koji pruža arhitekturu Model View Controllera. ASP.NET MVC nudi alternativu ASP.NET web obrascima za izradu web aplikacija. Dio je .NET platforme za izgradnju, implementaciju i pokretanje web aplikacija. Web aplikacije i web stranice možete razvijati uz pomoć HTML-a, CSS-a, jQueryja, JavaSkripta 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 mislio na razvojping ASP.NET MVC. Glavni problem s ASP.NET webFormsima su performanse.
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 se ističe 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 s Microsoft Visual Studio 2008
- Uključite značajke poput predložaka za pomoć, korisničkih sučelja s automatskim scaffoldingom i prilagodljivim predlošcima
- 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 skripte s jQuery validacijom i JSON vezanjem
- Nudi značajke poput Razor view enginea i poboljšanih atributa Data Annotations za validaciju 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 Studiom 2012 i Visual Studiom 2013
- Podržava usmjeravanje atributa u MVC-u
Značajke MVC-a
- Jednostavna provjera bez trenja
- Potpuna kontrola nad vašim HTML-om, JavaSkripta, i URLs
- Poluga postoji ASP.NET Značajke
- Nova opcija prezentacije za ASP.NET
- Jednostavniji način programiranja ASP.NET-a
- 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 imati na umu da ASP.NET MVC NIJE zamjena za ASP.NET aplikacije temeljene na web obrascima.
- Pristup razvoju MVC aplikacija mora se odlučiti na temelju zahtjeva aplikacije i značajki koje pruža ASP.NET MVC kako bi odgovarao specifičnim potrebama razvoja.
- Proces razvoja aplikacija s ASP.NET MVC-om je složeniji u usporedbi s aplikacijama temeljenim na web obrascima.
- Mogućnost održavanja aplikacije uvijek je veća s odvajanjem aplikacijskih zadataka.
MVC arhitektonski uzorak
MVC je obrazac softverske arhitekture koji slijedi metodu razdvajanja odgovornosti. U ovom modelu .NET aplikacije su podijeljene u tri međusobno povezana dijela koja 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
Prikazi su komponente koje se koriste za prikaz korisničkog sučelja (UI) aplikacije, koje se u MVC-u nazivaju i viewmodel. 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 obrađuju interakciju korisnika, rade s modelom i odabiru prikaz za prikaz korisničkog sučelja. U .NET MVC aplikaciji, prikaz prikazuje samo informacije, dok kontroler upravlja i reagira na korisnički unos i interakciju pomoću filtera akcija u MVC-u.
Na primjer, kontroler upravlja vrijednostima niza upita i prosljeđuje te vrijednosti modelu.
Web obrasci u odnosu na MVC
| Parametri | WebObrasci | VMC |
|---|---|---|
| Model | ASP.NET web obrasci slijede model razvoja vođenog događajima. | ASP.NET MVC koristi MVC model razvoja temeljen na uzorcima. |
| Koristi se od | Postoji od 2002 | Prvi put je objavljen 2009. godine |
| Podrška za stanje prikaza | ASP.NET web obrazac podržava prikaz stanja za upravljanje stanjem na strani klijenta. | .NET MVC ne podržava stanje prikaza. |
| URL vrsta | ASP.NET web obrazac je baziran na datotekama URLs. To znači da naziv datoteke postoji u URLi moraju fizički postojati. | ASP.NET MVC je baziran na rutama URLto znači URLkoji se preusmjeravaju na kontrolere i akcije. |
| Sintaksa | ASP.NET web obrasci slijede sintaksu web obrazaca. | ASP.NET MVC slijedi prilagodljivu sintaksu. |
| Vrsta pogleda | Web obrazac, prikazi su čvrsto povezani s Code iza (ASPX-CS), tj. logike. | MVC, pogledi i logika uvijek se drže odvojeno. |
| Dosljedan izgled i dojam | Ima glavne stranice za dosljedan izgled. | ASP.NET MVC ima rasporede za dosljedan izgled. |
| Code Reus Sposobnost | Web Form nudi korisničke kontrole za ponovnu upotrebu koda. | ASP.NET MVC je ponudio 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 to slučaj sa .aspx stranicom.
- Program morate pokrenuti svaki put kako biste vidjeli 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-a
- U slučaju velikog i složenog koda, stvorite zaseban sklop za MODEL kako biste izbjegli neželjene situacije.
- 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 trebali događati u Controlleru
- Kontrolor bi trebao biti odgovoran samo za pripremu i vraćanje prikaza, pozivanje modela, preusmjeravanje na radnju itd.
- Izbriši demo kod iz aplikacije kada je kreiraš (Izbriši AccountController)
- Koristite samo određeni mehanizam prikaza za stvaranje HTML markupa iz vašeg prikaza jer je to kombinacija HTML-a i programskog koda.


