Creasoft Akademie - Deep dive into ASP.NET MVC

18

Click here to load reader

Transcript of Creasoft Akademie - Deep dive into ASP.NET MVC

Page 1: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Deep Dive into ASP.NET MVC 4

Creasoft Akademie

Page 2: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Agenda

ASP.NET MVC 4

JQuery Mobile

Page 3: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Was ist MVC?

• Ein Design Pattern

• Acronym für Model – View – Controller

• Mechanismus um die Verantwortlichkeit zu trennen

Page 4: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Umsetzung mit ASP.NET MVC

Schritt 1Der eingegangene Request wird von der Routing Engine an den

Controller geleitet

Request

Controller

Page 5: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Umsetzung mit ASP.NET MVC

Schritt 2Der Controller verarbeitet den Request und erstellt ein Model

Controller

Model

Page 6: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Umsetzung mit ASP.NET MVC

Schritt 3Das Model wird an die View übergeben

Controller

View

Page 7: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Umsetzung mit ASP.NET MVC

Schritt 4Die View wandelt das Model in das Output Format (HTML) um

Controller

View

Page 8: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Umsetzung mit ASP.NET MVC

Schritt 5Der Response wird gerendert

Response

Controller

View

Page 9: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Was ist ASP.NET MVC?

• Ein neuer Web Applikation Projekt Typ

• Eine Option

– ASP.NET WebForms wird nicht abgelöst

• MVC basiert auf ASP.NET

Page 10: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Was ist ASP.NET MVC?

ASP.NET Web FormsASP.NET MVC

ASP.NET Framework

.NET Framework

Page 11: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

ASP.NET MVC – So what?

• Paradigma Wechsel

– Web Entwicklung in Reinkultur

• Aspekt orientierte Programmierung (AOP)

– Framework inklusive

• Trend zur clientseitigen Verarbeitung

– AJAX

– jQuery

Page 12: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Warum ASP.NET MVC?

• Komplexität ist sauber aufgeteilt

– Ideal für grosse u/o komplexe Applikationen

– SRP – Single Responsibility Principle

– DRY – Don’t Repeat Yourself

• Was wirklich neu ist

– Trennung von View und Controller

– Logischer Schritt nach Code Behind

– Model war schon immer getrennt

Page 13: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Warum ASP.NET MVC?

• Einfach testbar

– Agile Software Entwicklung

– Test Driven Development (TDD)

• Volle Kontrolle über den Output

– Kein ViewState

Page 14: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Warum ASP.NET MVC?

• MVC Komponenten sind ersetzbar

– Interface basierte Architektur

– Wenig “sealed” Klassen/Methoden

• Harmoniert mit vielen Frameworks

– Test Frameworks

– Render Engines

– Dependency Injection Frameworks

– Mock Frameworks

Page 15: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Wann ASP.NET WebForms?

• WinForms ähnliche Entwicklung

– Event driven,usw.

• Grosse Auswahl an Controls

• Designer/Assistenten Support

Page 16: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

DEMO

Page 17: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Summary

• Wird nicht ASP.NET WebForms ersetzen

– Ist eine Alternative

• Einfach und gut zu testen

• Komplexität auf Model – View – Controller verteilt

• Offen, flexibel und erweiterbar

Page 18: Creasoft Akademie - Deep dive into ASP.NET MVC

Software: Planen. Entwickeln. Testen.

Q/A