4. Advantages of an MVC-Based Web
Application
Easier to manage complexity(input logic, business
logic, and UI logic)
Better support for test-driven development(TDD)
Better for large teams of developers
6. Entity framework(EF)
Object relational mapper(ORM) framework for .NET
Eliminates the need for most of the data-access code that developers usually
need to write.
13. Controller
The ASP.NET MVC framework maps URLs to classes that are referred to as
controllers
The base class for all controllers is the ControllerBase class
14. The Controller class is responsible for the following
processing stages:
Locating the appropriate action method to call and validating that it can be
called.
Getting the values to use as the action method's arguments.
Handling all errors that might occur during the execution of the action method.
15. Action Methods
ASP.NET MVC applications is organized around controllers and action
methods.
The controller defines action methods. Controllers can include as many action
methods as needed.
/[Controller]/[ActionName]/[Parameters]
ASP.NET MVC3- framework za izradu web aplikacija koji koristi MVC pattern, obrazac , po kojoj se izraduje aplikacijaMVC- dijeli aplikaciju na 3 dijela: model view i controllerModel predstavlja dio aplikacije koji primjenjuje logiku aplikacije odnosno model predstavlja i radi u doemi baze podataka.View- predstavlja komponente koje se prikazuju korisniku kao korisničko sučelje.Uglavnom se view kreira na temelju dohvaćenih podataka iz baze-Controler-komponenta koja obraduje sve naredbe dobivene preko korisnickog sucelja, radi sa Model dijelom aplikacije te odabire odnosno daje naredbu što će se prikazati korisniku na zaslonu.View samo prikazuje informacije,a kontroler obrađuje sve ono što korisnik odabere preko tog view-a
-MVC pattern pomaze u kreiranju aplikacija kod koje ce odredeni dijelovi programa biti odjeljenji.-Mozemo reci da svaka web aplikacija ima nekakva 3 osnovna dijela, imamo Input logic,bussiness logic , and UI logic-MVC forma točno govori što će koji dio odrađivati.Tako da bussines logic pripada modelu, input logic controller dijelu, UI logic pripada viev dijelu-Ovakav način razmišljanja ,odnosno kreiranja aplikacije omogućuje nam da se nosimo sa složenošću aplikacije jer nam omogućuje da se fokusiramo na samo dio aplikacije.Npr : mozemo se skoncentrirati samo na view bez da nas zanima što se u pozadini događa npr s bazom podataka.-Također ovakav način je odličan za veće timove ljudi gdje se skupina ljudi bavi samo s pojedinim dijelom aplikacije-Omogućuje jednostavnije testiranje aplikacija nego što je slučaj kod Web Formi jer recimo kod Web formi pojedinacna klasa sluzi i da posalje nekakav prikaz na zaslon i da obradi nekakve korisnicke zahtjeve
Entity framework je ORM framework za . NET koji služi za kreiranje baze podataka.ORM, Object relational mapping u progrmiranju je jedna vrsta tehnike koja olakškava rad s bazama podataka, odnosno značajno pojednostavljuje pristup bazi podataka, odnosno podacima koji se nalaze unutar same bazeNpr: Kod OO programiranja uglavnom govorimo o nekakvoj manipulaciji s objektima koji su ne skalarne veličine. Uzmimo za primjer telefonski imenik. Imamo naprimjer objekt Osoba koji bi imao nekakve svoje atribute koji bi ga opisivali, ime prezime broj telefona adrese. Naravno imao bi i pripadajuce metode koje bi vracale ili postavljale odredene vrijednosti. Unutar samog programa bio bi jedinstveni objekt. Međutim problem se pojavljuje kada trebamo takav tip spremiti u bazu podataka jer uglavnom se u bazu spremaju skalarne velicine s kojima se moze manipulirati kao što su stringovi i integeri. Programer tu mora transformirati taj objekt u grupe jednostavnijih varijabli kako bi se pohranilo u bazu podataka. EF upravo ovdje pokazuje glavnu prednost jer smanjuje količinu koda koja je potrebna kako bi se ta tranfosrmacija izvela.
Kao što se vidi iz dijagrama postoje različiti pristupi i metode korištenja Entiti frameworkaImamo Database first: ukoliko već imate bazu podataka, Entity framework moze automatski generirati data model koji bi sadrzavao klase i svojstva povezane sa podacima unutar same baze podataka.Model first: Ukoliko nemate bazu podataka možemo koristit Entity framework dizajner unutar samog visual studija. Nakon što kreiramo model iz tog modela kreira se baza podataka.Treći pristup i pristup koji ćemo koristit u izradi naše MVC aplikacije unutar Software startup academya je Code First. Bez obzira da li imate ili nemte bazu podataka mozete jednostavni napisati kod ,odnoson klase sa svojim svojstvima i pomoću Entity frameworka jednostavno nastaje nova baza podataka. Upravo iz tog razloga mozda cete naici na naziv Code Only jer nema potrebe za dizajniranjem baze jednostavno napišete klasu sa svojstvima i entitiy framework će kereirati bazu
Razor je sintaksa ASP.NET koju koristimo za kreiranje dinamičkih web stranica kombinirajuci C# i HTML.Razor je objavljen u 1.mjesecu 2011. godine tako da je relativno novi engineASP.NET je oduvijek podržavao koncept tih „view enđina” kao nekakvih modula koji se jednostavno primjene unutar same aplikacije i koji koriste razlicite sintaksne opcije. Razor je upravo jedan od tih enđina kod kojeg je temelj HTML ali podržava i C# i VB. Razor je jedan tradicionalni ASP.NET ajmo reći prezentacijski jezik jer nije programski no dosta lakši za shvatit..cshtml.vbhtml
Jedan primjer koda za Razor gdje mozemo primjertiti imamo standardne tagove HTML medutim vidimo ovu liniju koda koja prikazuje trenutno vrijeme na serveru.
Razor viev enđajn nije ništa novo, samo koristi vaša postojeća znanja o HTMLu i recimo C# ili VB kako bi donijeo nove mogućnosti u sam prikaz web stranice. Također kao i za html nije vam potreban nikakav poseban program, dovoljno je pokrenuti najobicniji text editor i u njega sve zapisati. Naravno budući da se koristi C# svakako bi bilo bolje koristit Visual Studio zbog intelisensea.
Controller je ustvari clasa čiji naziv određuje URLGlavna klasa za sve controlere je ControllerBase klasa koja osigurava ispravno funkcioniranje cijelog MVC konepta.Controller clasa nasjedulje ControllerBase klasu
Controller klasa zadužena je da na svkai korisnicki zahtjev pronade odgovorajacu metodu i pozove ju naravno uz to je potrebno i provjeriti da li je uopce dozvoljeno pozvati tu metoduPreuzima vrijednosti koje kasnije proslijeduje metodi i na temelju paramatera vraca odgovaraju viewUkoliko dolazi do pogreske Controller clasa odraduje sve moguce slucajeve
Npr: korisnik unese URL u svoj browser , klikne na link ili pošalje nekakvu formu , u svakom od tih slučajeva šalje se zahtjev na server. URL sadrži informacije se koriste kako bi se pozvala ispravna Action Methoda.Recimo korisnik unese URL i posalje zahtjev a MVC aplikacija koristeci odredena pravila tocno zna koji controller odnosno koju metodu izvršiti.Na primjeru ćemo pokazati kako izgleda link odnosno URL, te vidjeti izgled tog linka te kako iz njega mozemo iscitat naziv kontrolera i metode koja ce se pozvati.
Nekih vecih razlika izmedu MVC3 i MVC4 nema.Ovdje su navede nekakve 3 razlike mozda najvaznije za spomenuti u kontekstu ove akademije.Template koji se koristi za kreiranje ASP.NET MVC4 projekta je apdejtana odnsno sada to izgleda modernije, ustvari više sliči na današnje moderne web straniceDruga bitna razlika je templatea za kreiranje mobilnih web stranica, dakle ukoliko zelimo kreirati web stranicu iskljucivo za mobilne uredaje i tablete koristimo taj template. On je povezan s ovom 3 natuknicom, koristi naime jQuery mobile, open source library koji sluzi za razvijanje web aplikacija koje moraju biti optimizirane za touch UI