Download presentation
1
Introducere în dezvoltarea aplicațiilor web
ASP.NET MVC (1.0) Introducere în dezvoltarea aplicațiilor web Radu-Mihail Obadă
2
Aplicație web? „O aplicație care este accesată prin intermediul unui navigator web peste o rețea precum Internet sau intranet.” [Wikipedia]
3
Model View Controller „Șablon arhitectural folosit în ingineria software. Izolează logica aplicației (business logic) de prezentare și input.” [Wikipedia] 1979, Smalltalk la Xerox PARC Mai multe arome: Model View Presenter (.NET Framework), „model-view-controller-connector” (XForms) etc.
4
MVC în imagini
5
MVC—pe web Foarte popular pentru dezvoltarea aplicațiilor web.
În special în frameworks agile (Spring Web MVC, Ruby on Rails etc.) Permite o separare excelentă a responsabilităților (concerns) pentru aplicații distribuite n-tier, i. e. cele mai multe aplicații web.
6
MVC: Model Reprezentarea datelor specifice domeniului.
Domain logic structurează datele, dându-le înțeles. Modelul nu este data access layer, dar DAL se subînțelege că e încapsulat de model.
7
MVC: View Prezintă, într-un mod sau altul, modelul.
Pot exista mai multe views pentru același model. De cele mai multe ori, reprezintă interfața cu utilizatorul.
8
MVC: Controller Liantul MVC.
Primește și gestionează interacțiunea cu utilizatorul (input). Apelează modelul. Inițiază un răspuns.
9
Exemplu arhitectural Model: business objects care implementează business rules, i. e. Persoană, Contact etc. View: (X)HTML, generat de aplicație plecând de la datele din model. Controller: tratează cererile HTTP GET și HTTP POST, le direcționează către business objects și prezintă views.
10
Microsoft: evoluția platformei web
Programe CGI și filtre ISAPI (anii ‘90) pentru IIS. Active Server Pages (sfârșitul anilor ‘90): sistem de șabloane (templating), cod și mark-up în același loc, dynamic scripting ASP.NET (2002): model de programare bazat pe evenimente; postbacks și viewstate
11
ASP.NET MVC: de ce? (1) MVC Decuplarea straturilor.
Separarea responsabilităților (concerns). Test-Driven Design.
12
ASP.NET MVC: de ce? (2) Control integral asupra codului HTML.
Motoare multiple pentru prezentare (view engines). URL-uri curate. Ușurință REST.
13
ASP.NET MVC versus Web Forms
ASP.NET Web Forms Model, View, Controller Test-Driven Design Control total al HTML-ului generat Interfețe REST pentru ULR-uri Se integrează excelent cu jQuery sau ExtJS Permite o abordare agilă Model bazat pe evenimente Mediu RAD Controale server-side puternice Ascunde problema păstrării stării Ecosistem foarte bogat, în special pentru controale Foarte ușor de abordat de dezvoltatorii desktop
14
Cum se întâmplă? (1) UrlRoutingModule->Route.
Route->IRouteHandler. IRouteHandler->MvcHandler. MvcHandler->Controller.
15
Cum se întâmplă? (2) Stadiu Detalii
Primește prima cerere pentru aplicație Global.asax, Route sunt adăugate la RouteTable Routing UrlRoutingModule->(…)->Controller MVC Request Handler MvcRouteHandler->MvcHandler Se creează Controller MvcHandler->IControllerFactory Se execută Controller Controller->Execute() Se invocă o acțiune Controller->Action() Se execută rezultatul View
16
ASP.NET MVC: Routing Mapează un URL pe o acțiune a unui controller
Web.config (nu) sau Global.asax RouteTable, se parcurge de sus în jos Parametrizate Pot adăuga constrângeri
17
ASP.NET MVC: Controllers
O simplă clasă Pot deriva din System.Web.Mvc.Controller Metodele sunt acțiuni Acțiunile întorc un rezultat: view nimic conținut … Orice altceva este convertit în text
18
ASP.NET MVC: Views Motorul implicit pentru views este… WebForms!
Nu mai am controale server (<asp:… />) Script blocks: <% %> HTML Helpers: funcționalități de-a gata pentru bucățile de HTML utilizate des Pot avea views parțiale Pot schimba motorul de views
19
ASP.NET MVC: Model Business objects POCO: Plain Old C# Objects
Entity Framework LINQ to SQL …
20
ASP.NET MVC: hands-on lab
Un laborator intensiv despre ASP.NET MVC organizat de echipa Microsoft Student Partners
21
MVC: Implementări alternative
MonoRail Maverick.NET PureMVC Spring Framework .NET
22
Resurse http://asp.net/mvc/—situl oficial
Guthrie
23
Resurse (2) http://fmi.unibuc.ro/msp/—Echipa MSP @ fmi, unibuc
(eu)
24
Fin Mulțumesc!
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.