+ All Categories
Home > Documents > ASP.NET-MVC-1.0

ASP.NET-MVC-1.0

Date post: 14-Sep-2015
Category:
Upload: anna-maria
View: 214 times
Download: 1 times
Share this document with a friend
Description:
ASP.NET-MVC-1.0
24
ASP.NET MVC (1.0) Introducere în dezvoltarea aplicațiilor web Radu-Mihail Obadă radu-mihail.obada @ student-partners
Transcript

ASP.NET MVC (1.0)

ASP.NET MVC (1.0)Introducere n dezvoltarea aplicaiilor webRadu-Mihail Obad [email protected] web?O aplicaie care este accesat prin intermediul unui navigator web peste o reea precum Internet sau intranet. [Wikipedia]Model View Controllerablon arhitectural folosit n ingineria software. Izoleaz logica aplicaiei (business logic) de prezentare i input. [Wikipedia]1979, Smalltalk la Xerox PARCMai multe arome: Model View Presenter (.NET Framework), model-view-controller-connector (XForms) etc.MVC n imagini

MVCpe webFoarte popular pentru dezvoltarea aplicaiilor web.n special n frameworks agile (Spring Web MVC, Ruby on Rails etc.)Permite o separare excelent a responsabilitilor (concerns) pentru aplicaii distribuite n-tier, i. e. cele mai multe aplicaii web.MVC: ModelReprezentarea datelor specifice domeniului.Domain logic structureaz datele, dndu-le neles.Modelul nu este data access layer, dar DAL se subnelege c e ncapsulat de model.MVC: ViewPrezint, ntr-un mod sau altul, modelul.Pot exista mai multe views pentru acelai model.De cele mai multe ori, reprezint interfaa cu utilizatorul.MVC: ControllerLiantul MVC.Primete i gestioneaz interaciunea cu utilizatorul (input).Apeleaz modelul.Iniiaz un rspuns.Exemplu arhitecturalModel: business objects care implementeaz business rules, i. e. Persoan, Contact etc.View: (X)HTML, generat de aplicaie plecnd de la datele din model.Controller: trateaz cererile HTTP GET i HTTP POST, le direcioneaz ctre business objects i prezint views.Microsoft: evoluia platformei webPrograme CGI i filtre ISAPI (anii 90) pentru IIS.Active Server Pages (sfritul anilor 90): sistem de abloane (templating), cod i mark-up n acelai loc, dynamic scriptingASP.NET (2002): model de programare bazat pe evenimente; postbacks i viewstate10ASP.NET MVC: de ce? (1)MVCDecuplarea straturilor.Separarea responsabilitilor (concerns).Test-Driven Design.ASP.NET MVC: de ce? (2)Control integral asupra codului HTML.Motoare multiple pentru prezentare (view engines).URL-uri curate.Uurin REST.ASP.NET MVC versus Web FormsASP.NET MVCASP.NET Web FormsModel, View, ControllerTest-Driven DesignControl total al HTML-ului generatInterfee REST pentru ULR-uriSe integreaz excelent cu jQuery sau ExtJSPermite o abordare agilModel bazat pe evenimenteMediu RADControale server-side puterniceAscunde problema pstrrii striiEcosistem foarte bogat, n special pentru controaleFoarte uor de abordat de dezvoltatorii desktopCum se ntmpl? (1)UrlRoutingModule->Route.Route->IRouteHandler.IRouteHandler->MvcHandler.MvcHandler->Controller.Cum se ntmpl? (2)StadiuDetaliiPrimete prima cerere pentru aplicaieGlobal.asax, Route sunt adugate la RouteTableRoutingUrlRoutingModule->()->ControllerMVC Request HandlerMvcRouteHandler->MvcHandlerSe creeaz ControllerMvcHandler->IControllerFactorySe execut ControllerController->Execute()Se invoc o aciuneController->Action()Se execut rezultatulViewASP.NET MVC: RoutingMapeaz un URL pe o aciune a unui controllerWeb.config (nu) sau Global.asaxRouteTable, se parcurge de sus n josParametrizatePot aduga constrngeri

ASP.NET MVC: ControllersO simpl clasPot deriva din System.Web.Mvc.ControllerMetodele sunt aciuniAciunile ntorc un rezultat:viewnimicconinutOrice altceva este convertit n textASP.NET MVC: ViewsMotorul implicit pentru views este WebForms!Nu mai am controale server ()Script blocks: HTML Helpers: funcionaliti de-a gata pentru bucile de HTML utilizate desPot avea views parialePot schimba motorul de viewsASP.NET MVC: ModelBusiness objectsPOCO: Plain Old C# ObjectsEntity FrameworkLINQ to SQLASP.NET MVC: hands-on labUn laborator intensiv despre ASP.NET MVC organizat de echipa Microsoft Student PartnersMVC: Implementri alternativeMonoRailMaverick.NETPureMVCSpring Framework .NETResursehttp://asp.net/mvc/situl oficialhttp://msdn.microsoft.com/en-us/aa336522.aspxMSDNhttp://weblogs.asp.net/Scottgu/Scott Guthrie22Resurse (2)http://fmi.unibuc.ro/msp/Echipa MSP @ fmi, [email protected] (eu)FinMulumesc!


Recommended