1 / 33

ASP.NET MVC algajale (professionaalile)

ASP.NET MVC algajale (professionaalile). Gunnar Peipman ASP.NET MVP www.dt.ee/blog. Paar sõna minust. Töötan arendaja ja arenduse juhina, peamiselt ASP.NET ja SharePoint lahendused ASP.NET MVP kolmandat aastat, aktiivne blogija ja tehnomaniakk

lee
Download Presentation

ASP.NET MVC algajale (professionaalile)

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 algajale(professionaalile) Gunnar Peipman ASP.NET MVPwww.dt.ee/blog

  2. Paar sõna minust • Töötan arendaja ja arenduse juhina, peamiselt ASP.NET ja SharePoint lahendused • ASP.NET MVP kolmandat aastat, aktiivne blogija ja tehnomaniakk • Loen palju, osalen erinevatel üritustel, eksperimenteerin, pidevas arengus

  3. Live Meeting kasutajatele • Kasuta Q/A menüüd küsimuste esitamiseks. • Vastame võimaluseljooksvalt võiloengu lõpus.

  4. Kava • ASP.NET MVC – mis see on? • ASP.NET MVC arhitektuur • Probleemid ja lahendused • Demod • Kokkuvõte • Küsimused ja vastused

  5. Mis on ASP.NET MVC? • Raamistik veebipõhiste süsteemide loomiseks • Iseloomustavad märksõnad: • õhuke • paindlik • laiendatav • testitav

  6. ASP.NET MVC arhitektuur Model View Controller

  7. ASP.NET MVC arhitektuur • Controller – MVC mustri süda, koordineerib päringute töötlemist • View – vaade ehk kasutajale mõeldud andmeesitus, mis koostatakse mudeli põhjal • Model– andmed, mida kuvatakse ja toimingud andmetega

  8. Demo Kuvakomponentide kasutamine

  9. 1. Tagasta ActionResult • Kontrolleri action ei kirjuta väljundit otse HTTP väljundisse • Väljundi jaoks kasutatakse klasse, mis pärivad ActionResult klassist • Näiteks: ViewResult, FileResult, ContentResult, EmptyResult • Alati saab luua oma ActionResulti

  10. Demo vCardResult

  11. 2. Hoia actionid lühikesed • Kontrollerite loomine meenutab kohati akordionimängu • Kui action on kasvanud liiga pikaks (näiteks rohkem kui 20 rida), tuleb kood ümber organiseerida õigetesse kihtidesse • Tee seda jooksvalt, sest muidu jääd aastateks koledat koodi toetama

  12. Demo Andmete jaotamine lehtedeksPagedResult<T>

  13. 3. Hoia vaated kompaktsed • Mahukad vaated on halb praktika, sest neid on raskem edasi ehitada ja probleemide korral debugida • Vaated saab lühemaks teha järgmiste asjade abil: • Template-id • Osalised vaated • JavaScripti paigutamine eraldi failidesse

  14. 3. Hoia vaated kompaktsed • Keerukama väljundi genereerimiseks vaadetes ära kirjuta koodi vaadete sisse • Kasuta laiendusmeetode Html või mõne oma väljundiklassi jaoks

  15. Demo Laiendusmeetod Html.Pager

  16. 4. Andmete lugemine vormilt • Tihti toodetakse mahukat koodi, mida annab lahendada raamistiku enda funktsionaalsuste abil • MVC on võimeline mingi piirini tuvastama mudeli osi vormilt ise • Me võime alati kirjutada oma enda ModelBinder klassid

  17. 5. Formsi komponentide simuleerimine • ASP.NET MVC ei võimalda luua Formsi sarnaseid komponente, mis ise väljundit ja sisendit haldavad • Saab kirjutada laiendusmeetodid ja meetodid, mille abil andmeid vastu võtta • Need moodustavad tervikliku Formsi komponendi simulatsiooni

  18. Demo CheckBoxList

  19. 6. Distantseerime autentimise • Autentimise mehhanismid on: • keerukad ehitada • vajavad väga põhjalikke teadmisi infosüsteemide turvamise alal • testimine on mahukas ja äärmiselt vastutusrikas tegevus • ja miks me üldse jalgratast leiutame...?

  20. 6. Distantseerime autentimise • Kasutada saab mitmeid valmis teenuseid ja lahendusi: • Windows Identity Foundation (WIF) • ADFS • Windows Azure ACS (Live ID, Google, Yahoo!, Facebook, ADFS tugi) • OpenID, OAuth jpm

  21. Demo Windows Identity FoundationWindows Azure ACS Security Token Service

  22. 7. Laiendame autoriseerimist • Alati pole piisav see, et kasutaja on autentitud ja autoriseeritud • Me ei pruugi saada STS-i käest piisavat kasutajaprofiili • Lahkheli vaikimisi pakutavata funktsionaalsuse ja ärinõuete vahel • Laiendame autoriseerimist

  23. Demo ProfileRequiredAttributeInvitation codes

  24. Meeldetuletus tagasisidelehed ka :) on Sul küsimusi?

  25. 8. Muudame rakenduse testitavaks • Võtame kasutusele mõne DI/IoC konteineri • Eemaldame testimise mõttes halvad sõltuvused (instantside loomise) • Liigume üle liidestele • Kirjutame testid

  26. Demo Muudame rakenduse testitavaks

  27. 9. JavaScripti komponendid • JavaScripti abil saab ehitada võimsad kasutusliidesed • jQuery ja ASP.NET AJAX tugi on olemas out-of-box • Lisaks kaasas jQuery UI • Skriptid uuendatavad NuGet abil

  28. Demo jQuery UI komponendid

  29. Kokkuvõte • ASP.NET MVC on paindlik ja laiendatav – kasuta võimalusi! • Võimsa UI tegemine pole keerukas – sul on kõik vahendid ja võimalused! • Testi oma rakendusi – lisaks klientidele oled õnnelik ka sina! • Õpi ja eksperimenteeri pidevalt – sa ei usu ise ka, milleks võimeline oled!

  30. Ressursid Ametlik: • ASP.NET MVC (ametlik kodukas) • jQuery, jQuery UI Testimiseks: • nUnit, mbUnit, Moq, TypeMock • Pex & Moles • KiGG (kasutage näiterakendusena) Muu: • Eneta portaal (siit saad abi eesti keeles) • DT blogi, ASP.NET blogi (minu teosed) • Hajan Selmani blogi (ASP.NET ja jQuery) • Brad Wilson blog • Imran Baloch’s blog

  31. Küsimused?

  32. Aitäh!

  33. www.eneta.ee/foorum

More Related