ASP.NET MVC
MVC historik ● Traditionellt arkitekturmönster som ansetts särskilt lämpligt i webbapplikationer ● Separation of concerns & loose coupling – Uncoupled development – Testability – Maintainability ● Model / View / Controller ● Kom till.NET omkring 2009 för.net 3.5
ASP.NET MVC vs Webforms ● Ingen viewstate eller postback ● Sökvägen inte knuten till filstrukturen ● Mindre omskrivning och runtime-generering av html-kod ● Webforms kan fortfarande erbjuda snabbare utveckling och lägre instegströskel för små projekt och existerande lösningar. ● ASP.NET MVC ger mycket bättre styrning i större projekt med flera deltagare och testprocesser.
Demo 1 ● Skapa nytt projekt – Filtstruktur – Grundläggande request-process – Grundläggande routing ● Inparametrar och formulär – Direkta request => Inparametrar => Objekt – Formulärdata
Demo 2 ● Databundna formulär ● Editor templates ● Html-helpers ● Partial views ● Sub actions ● Layout views
Demo 3 ● Presentation models ● Value lists ● Validation logic ● Authentication ● Exception handling
Demo 4 ● JS- och CSS-optimering (bundling) ● Ajax-postback ● Jquery input and return
Demo 5 ● Preparing for testability ● Testability – Testing model – Testing controller – Testing views
Nyheter i MVC 3 & 4 ● Razor-motorn som alternativ till ASPX-motorn – Lättare integration med HTML-koden – Mer implicit slutledning ● HTML5- och mobilanpassade standardmallar ● Display-modes för olika enhetstyper ● Bundling and minification ● Async controllers ● Web API
Why MVC ● Separation and structure is more enforced by the framework. ● Testability and collaboration ● Easier to manage solutions with lots of client code ● Cleaner HTML code and seo-friendly addresses ● A lot of automatic infrastructure code ● Better performance if used with knowledge
Why not MVC ● Existing server controls are unusable as most of them depend on viewstate ● Less support from graphical editors ● No page lifecycle in same way ● If hating Javascript and client code