SlideShare ist ein Scribd-Unternehmen logo
.NET
User
Group
Bern
Kay Herzam
www.herzam.com/blog
kay@herzam.com
Twitter: kherzam
DNUG Bern Sponsoren
High quality technical screencasts created by
experts on the latest and most important
technologies. Buy access to a single series or
subscribe for as little as $19 a month.
tekpub.com
ASP
.NET MVC
Ayende Rahien
Rob Conery
jQuery
Dave Ward
Ruby on Rails
ASP
.NET Ajax
LINQ
nHibernate
Agenda
• Überblick über ASP.NET MVC 2
• Vorteile / Nachteile
• Demo Applikation
• Nützliche Links / Bücher
• Fragen und Diskussion
ASP.NET MVC?
ASP.NET Web Forms
ASP.NET MVC
ASP.NET Framework
.NET Framework
ASP.NET MVC – Was ist es nicht?
„There is no silver bullet“
No Silver Bullet — Essence and Accidents of Software Engineering
Fred Brooks, 1986
ASP.NET MVC – Das Pattern
View
Model
Controller
ASP.NET MVC – Das Pattern
Model
Business Logik
Validierung
View
Markup
(wenig) Präsentationslogik
Controller
Ablaufsteuerung
ASP.NET MVC – Request Ablauf
Request
Request
Controller
ASP.NET MVC – Request Ablauf
Controller
Model
ASP.NET MVC – Request Ablauf
Controller
View
ASP.NET MVC – Request Ablauf
Controller
View
ASP.NET MVC – Request Ablauf
Response
Response
Controller
View
ASP.NET MVC – Was ist anders?
• Klare Trennung der Verantwortlichkeiten
(Seperation of Concerns SoC)
– Gut geeignet für grosse und komplexe
Applikationen
• Besser geeignet für TDD
• Volle Kontrolle über den Output
ASP.NET MVC – Was ist anders?
• Sprechende URLs
/Kunde/42/Bestellung/37
/Produkte/Velos
• Konvention statt Konfiguration
Vorgegebene Projektstruktur und Namen
• Kein Viewstate, kein PostBack
ASP.NET MVC – Was ist anders?
• MVC Framework ist einfach erweiterbar
– Komponenten können ausgetauscht werden
– Echte MS Open Source!
• Viele Frameworks lassen sich einfach
integrieren
– Alternative View Engines
– Dependency Injection
– Validierungs Frameworks
– Test und Mock Frameworks
ASP.NET MVC - Vorteile
• Volle Kontrolle über Markup
• Kein ViewState – näher an der „Realität“
• Besser geeignet für TDD als WebForms
• Eingebauter „Code Generator“ (T4)
ASP.NET MVC - Nachteile
• Gute (X)HTML / CSS Kenntnisse notwendig
• WebForms besser für RAD geeignet
• Noch wenige 3rd Party controls
Effizienz im Vergleich mit
Webforms
Effizienz
Zeit
Demo (Applikation)
Model
• Reine POCOs
• Entity Framework
• Linq to SQL
• „Build your own“ ORM...s
Model
• Validierung
– DataAnnotations
– FluentValidation
– xVal
Controller
• Namenskonvention
– Controllers/XYController.cs
• Erbt von System.Web.Mvc.Controller
• Public Methoden entsprechen „Actions“
Controller
• Methoden geben System.Web.Mvc.ActionResult
zurück
– ActionResult
– ViewResult
– PartialViewResult
– JsonResult
– ContentResult
– JavaScriptResult
– FileResult
– RedirectResult
– EmptyResult
– ...
Controller
• Filter (Attribute) können auf Controller
oder Actions gesetzt werden
– HandleError
– Authorize
– HttpGet / HttpPost
– OutputCache
– ValidateAntiforgeryToken
• Aspektorientierte Programmierung
View
• Namenskonvention
– Views/ControllerName/ActionName.aspx
• Standard ViewEngine ist Webforms
– Alternative: Spark
View
• Ein View kann sich aus mehreren
PartialViews (=UserControls)
zusammensetzen
• HTML kann erzeugt werden durch
– Eigenes Markup
– HTML Helper
– Templated HTML Helpers
(Best) Practices
• Dependency Injection für Repositories
verwenden
• Repository Pattern
• Model -> ViewModel verwenden
• Entweder jQuery oder MS Ajax verwenden
• Resharper einsetzen 
Nützliche Frameworks und Tools
• MvcFutures -> aspnet.codeplex.com
• MvcContrib -> MvcContrib.codeplex.com
• MvcTurbine -> MvcTurbine.codeplex.com
• Validierung
– FluentValidation -> FluentValidation.codeplex.com
– xVal -> xVal.codeplex.com
• „Controls“
– Telerik MVC -> www.telerik.com / MVC
– Syncfusion -> www.syncfusion.com
Empfehlenswerte Bücher
Fragen und Diskussion

Weitere ähnliche Inhalte

PDF
Net@night asp.net mvc
PPTX
Creasoft Akademie - Deep Dive into ASP.NET MVC
PPTX
Creasoft Akademie - Deep dive into ASP.NET MVC
PPTX
BizSpark goes Cloud
PDF
Ruby on Rails in a metro session
PPTX
CQRS in der Praxis - Newsletter Double-Opt-In
PPTX
2007 - Basta!: Nach soa kommt soc
PDF
Serverless Application Framework
Net@night asp.net mvc
Creasoft Akademie - Deep Dive into ASP.NET MVC
Creasoft Akademie - Deep dive into ASP.NET MVC
BizSpark goes Cloud
Ruby on Rails in a metro session
CQRS in der Praxis - Newsletter Double-Opt-In
2007 - Basta!: Nach soa kommt soc
Serverless Application Framework

Ähnlich wie ASP.NET MVC 2 - Eine Einführung (20)

PDF
Creasoft-Akademie - Mobile Multiplattform Apps
PPTX
ASP.NET MVC
PDF
Was kommt nach den SPAs
PDF
JavaScript Architektur
PDF
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
PDF
MEAN SCS in der Cloud
PDF
AngularJS
PDF
Echtzeitvisualisierung von Twitter & Co
PPTX
Echtzeitvisualisierung von Twitter und Co.
PDF
Per Anhalter zu Cloud Nativen API Gateways
PDF
On the Portability of Applications in Platform as a Service
PDF
CodeFluent Entities and AppSofa
PPTX
Workshop Vue js
PDF
Aspnet Core Cloudready Enterprise Web Application Development Mugilan T S Rag...
PDF
Einführung Vorgehensmodelle und Agile Software Entwicklung
PDF
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
PDF
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
PDF
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
ODP
RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
PDF
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Creasoft-Akademie - Mobile Multiplattform Apps
ASP.NET MVC
Was kommt nach den SPAs
JavaScript Architektur
MT AG: Ajax Rezepte fuer web services mit jquery und ajax
MEAN SCS in der Cloud
AngularJS
Echtzeitvisualisierung von Twitter & Co
Echtzeitvisualisierung von Twitter und Co.
Per Anhalter zu Cloud Nativen API Gateways
On the Portability of Applications in Platform as a Service
CodeFluent Entities and AppSofa
Workshop Vue js
Aspnet Core Cloudready Enterprise Web Application Development Mugilan T S Rag...
Einführung Vorgehensmodelle und Agile Software Entwicklung
95 Prozent brauchen es, 5 Prozent machen es: Load Testing mit VS leicht gemacht
Schlanke Webarchitekturen nicht nur mit JSF 2 und CDI
OSMC 2012 | Performance graphing mit inGraph by Eric Lippmann
RVK 3.0 - Die Regensburger Verbundklassifikation als Normdatei für Bibliothek...
Ringvorlesung: FIO Systems AG stellt Projektziel zum Thema Software Design Pa...
Anzeige

Mehr von NETUserGroupBern (20)

PDF
Large Language Models, Data & APIs - Integrating Generative AI Power into you...
PDF
AAD und .NET
PDF
SHIFT LEFT WITH DEVSECOPS
PDF
Securing .NET Core, ASP.NET Core applications
PDF
Application Security in ASP.NET Core
PDF
Ruby und Rails für .NET Entwickler
PPTX
Einführung in RavenDB
PDF
What Doctors Can Teach Us on Continuous Learning
PDF
Entity Framework Core - Der Umstieg auf Core
PDF
Weiches Zeugs für harte Jungs und Mädels
PDF
Änderungen im Cardinality Estimator SQL Server 2014
PPTX
Rest Fundamentals
PDF
Refactoring: Mythen & Fakten
PDF
AngularJs
PDF
Pragmatische Anforderungen
PPTX
Einführung in MongoDB
PDF
What the hell is PowerShell?
PPTX
Know your warm up
PDF
BDD mit Machine.Specifications (MSpec)
PDF
Versionskontrolle mit Git
Large Language Models, Data & APIs - Integrating Generative AI Power into you...
AAD und .NET
SHIFT LEFT WITH DEVSECOPS
Securing .NET Core, ASP.NET Core applications
Application Security in ASP.NET Core
Ruby und Rails für .NET Entwickler
Einführung in RavenDB
What Doctors Can Teach Us on Continuous Learning
Entity Framework Core - Der Umstieg auf Core
Weiches Zeugs für harte Jungs und Mädels
Änderungen im Cardinality Estimator SQL Server 2014
Rest Fundamentals
Refactoring: Mythen & Fakten
AngularJs
Pragmatische Anforderungen
Einführung in MongoDB
What the hell is PowerShell?
Know your warm up
BDD mit Machine.Specifications (MSpec)
Versionskontrolle mit Git
Anzeige

ASP.NET MVC 2 - Eine Einführung

  • 3. High quality technical screencasts created by experts on the latest and most important technologies. Buy access to a single series or subscribe for as little as $19 a month. tekpub.com ASP .NET MVC Ayende Rahien Rob Conery jQuery Dave Ward Ruby on Rails ASP .NET Ajax LINQ nHibernate
  • 4. Agenda • Überblick über ASP.NET MVC 2 • Vorteile / Nachteile • Demo Applikation • Nützliche Links / Bücher • Fragen und Diskussion
  • 5. ASP.NET MVC? ASP.NET Web Forms ASP.NET MVC ASP.NET Framework .NET Framework
  • 6. ASP.NET MVC – Was ist es nicht? „There is no silver bullet“ No Silver Bullet — Essence and Accidents of Software Engineering Fred Brooks, 1986
  • 7. ASP.NET MVC – Das Pattern View Model Controller
  • 8. ASP.NET MVC – Das Pattern Model Business Logik Validierung View Markup (wenig) Präsentationslogik Controller Ablaufsteuerung
  • 9. ASP.NET MVC – Request Ablauf Request Request Controller
  • 10. ASP.NET MVC – Request Ablauf Controller Model
  • 11. ASP.NET MVC – Request Ablauf Controller View
  • 12. ASP.NET MVC – Request Ablauf Controller View
  • 13. ASP.NET MVC – Request Ablauf Response Response Controller View
  • 14. ASP.NET MVC – Was ist anders? • Klare Trennung der Verantwortlichkeiten (Seperation of Concerns SoC) – Gut geeignet für grosse und komplexe Applikationen • Besser geeignet für TDD • Volle Kontrolle über den Output
  • 15. ASP.NET MVC – Was ist anders? • Sprechende URLs /Kunde/42/Bestellung/37 /Produkte/Velos • Konvention statt Konfiguration Vorgegebene Projektstruktur und Namen • Kein Viewstate, kein PostBack
  • 16. ASP.NET MVC – Was ist anders? • MVC Framework ist einfach erweiterbar – Komponenten können ausgetauscht werden – Echte MS Open Source! • Viele Frameworks lassen sich einfach integrieren – Alternative View Engines – Dependency Injection – Validierungs Frameworks – Test und Mock Frameworks
  • 17. ASP.NET MVC - Vorteile • Volle Kontrolle über Markup • Kein ViewState – näher an der „Realität“ • Besser geeignet für TDD als WebForms • Eingebauter „Code Generator“ (T4)
  • 18. ASP.NET MVC - Nachteile • Gute (X)HTML / CSS Kenntnisse notwendig • WebForms besser für RAD geeignet • Noch wenige 3rd Party controls
  • 19. Effizienz im Vergleich mit Webforms Effizienz Zeit
  • 21. Model • Reine POCOs • Entity Framework • Linq to SQL • „Build your own“ ORM...s
  • 23. Controller • Namenskonvention – Controllers/XYController.cs • Erbt von System.Web.Mvc.Controller • Public Methoden entsprechen „Actions“
  • 24. Controller • Methoden geben System.Web.Mvc.ActionResult zurück – ActionResult – ViewResult – PartialViewResult – JsonResult – ContentResult – JavaScriptResult – FileResult – RedirectResult – EmptyResult – ...
  • 25. Controller • Filter (Attribute) können auf Controller oder Actions gesetzt werden – HandleError – Authorize – HttpGet / HttpPost – OutputCache – ValidateAntiforgeryToken • Aspektorientierte Programmierung
  • 26. View • Namenskonvention – Views/ControllerName/ActionName.aspx • Standard ViewEngine ist Webforms – Alternative: Spark
  • 27. View • Ein View kann sich aus mehreren PartialViews (=UserControls) zusammensetzen • HTML kann erzeugt werden durch – Eigenes Markup – HTML Helper – Templated HTML Helpers
  • 28. (Best) Practices • Dependency Injection für Repositories verwenden • Repository Pattern • Model -> ViewModel verwenden • Entweder jQuery oder MS Ajax verwenden • Resharper einsetzen 
  • 29. Nützliche Frameworks und Tools • MvcFutures -> aspnet.codeplex.com • MvcContrib -> MvcContrib.codeplex.com • MvcTurbine -> MvcTurbine.codeplex.com • Validierung – FluentValidation -> FluentValidation.codeplex.com – xVal -> xVal.codeplex.com • „Controls“ – Telerik MVC -> www.telerik.com / MVC – Syncfusion -> www.syncfusion.com