1 / 24

ASP.NET MVC (1.0)

ASP.NET MVC (1.0). Introducere în dezvoltarea aplicațiilor web. Radu-Mihail Obadă radu-mihail.obada @ student-partners.com. Aplicație web?. „O aplicație care este accesată prin intermediul unui navigator web peste o rețea precum Internet sau intranet.” [ Wikipedia ]. Model View Controller.

Download Presentation

ASP.NET MVC (1.0)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ASP.NET MVC (1.0) Introducere în dezvoltarea aplicațiilor web Radu-Mihail Obadă radu-mihail.obada@student-partners.com

  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 objectscare 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 MVC 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)

  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 • http://msdn.microsoft.com/en-us/aa336522.aspx—MSDN • http://weblogs.asp.net/Scottgu/—Scott Guthrie

  23. Resurse (2) • http://fmi.unibuc.ro/msp/—Echipa MSP @ fmi, unibuc • radu-mihail.obada@student-partners.com (eu)

  24. Fin Mulțumesc!

More Related