Deep Dive into ASP.NET MVC 4

                                        Creasoft Akademie




Software: Planen. Entwickeln. Testen.
Agenda




                       ASP.NET
                                         JQuery   Mobile
                        MVC 4




Software: Planen. Entwickeln. Testen.
Was ist MVC?

• Ein Design Pattern
• Acronym für Model – View – Controller
• Mechanismus um die Verantwortlichkeit zu
  trennen




Software: Planen. Entwickeln. Testen.
Umsetzung mit ASP.NET MVC

                                        Controller
         Request




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

Software: Planen. Entwickeln. Testen.
Umsetzung mit ASP.NET MVC

                                        Controller
                                                     Model




        Schritt 2
        Der Controller verarbeitet den Request und erstellt ein Model


Software: Planen. Entwickeln. Testen.
Umsetzung mit ASP.NET MVC

                                        Controller




                                                     View


        Schritt 3
        Das Model wird an die View übergeben


Software: Planen. Entwickeln. Testen.
Umsetzung mit ASP.NET MVC

                                        Controller




                                                     View


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


Software: Planen. Entwickeln. Testen.
Umsetzung mit ASP.NET MVC

                                        Controller




                                                     View
                                                            Response



        Schritt 5
        Der Response wird gerendert


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




Software: Planen. Entwickeln. Testen.
Was ist ASP.NET MVC?


                          ASP.NET MVC             ASP.NET Web Forms


                                        ASP.NET Framework


                                         .NET Framework




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



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

Software: Planen. Entwickeln. Testen.
Warum ASP.NET MVC?

• Einfach testbar
         – Agile Software Entwicklung
         – Test Driven Development (TDD)
• Volle Kontrolle über den Output
         – Kein ViewState




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

Software: Planen. Entwickeln. Testen.
Wann ASP.NET WebForms?

• WinForms ähnliche Entwicklung
         – Event driven,usw.
• Grosse Auswahl an Controls
• Designer/Assistenten Support




Software: Planen. Entwickeln. Testen.
DEMO

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



Software: Planen. Entwickeln. Testen.
Q/A

Software: Planen. Entwickeln. Testen.

Creasoft Akademie - Deep Dive into ASP.NET MVC

  • 1.
    Deep Dive intoASP.NET MVC 4 Creasoft Akademie Software: Planen. Entwickeln. Testen.
  • 2.
    Agenda ASP.NET JQuery Mobile MVC 4 Software: Planen. Entwickeln. Testen.
  • 3.
    Was ist MVC? •Ein Design Pattern • Acronym für Model – View – Controller • Mechanismus um die Verantwortlichkeit zu trennen Software: Planen. Entwickeln. Testen.
  • 4.
    Umsetzung mit ASP.NETMVC Controller Request Schritt 1 Der eingegangene Request wird von der Routing Engine an den Controller geleitet Software: Planen. Entwickeln. Testen.
  • 5.
    Umsetzung mit ASP.NETMVC Controller Model Schritt 2 Der Controller verarbeitet den Request und erstellt ein Model Software: Planen. Entwickeln. Testen.
  • 6.
    Umsetzung mit ASP.NETMVC Controller View Schritt 3 Das Model wird an die View übergeben Software: Planen. Entwickeln. Testen.
  • 7.
    Umsetzung mit ASP.NETMVC Controller View Schritt 4 Die View wandelt das Model in das Output Format (HTML) um Software: Planen. Entwickeln. Testen.
  • 8.
    Umsetzung mit ASP.NETMVC Controller View Response Schritt 5 Der Response wird gerendert Software: Planen. Entwickeln. Testen.
  • 9.
    Was ist ASP.NETMVC? • Ein neuer Web Applikation Projekt Typ • Eine Option – ASP.NET WebForms wird nicht abgelöst • MVC basiert auf ASP.NET Software: Planen. Entwickeln. Testen.
  • 10.
    Was ist ASP.NETMVC? ASP.NET MVC ASP.NET Web Forms ASP.NET Framework .NET Framework Software: Planen. Entwickeln. Testen.
  • 11.
    ASP.NET MVC –So what? • Paradigma Wechsel – Web Entwicklung in Reinkultur • Aspekt orientierte Programmierung (AOP) – Framework inklusive • Trend zur clientseitigen Verarbeitung – AJAX – jQuery Software: Planen. Entwickeln. Testen.
  • 12.
    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 Software: Planen. Entwickeln. Testen.
  • 13.
    Warum ASP.NET MVC? •Einfach testbar – Agile Software Entwicklung – Test Driven Development (TDD) • Volle Kontrolle über den Output – Kein ViewState Software: Planen. Entwickeln. Testen.
  • 14.
    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 Software: Planen. Entwickeln. Testen.
  • 15.
    Wann ASP.NET WebForms? •WinForms ähnliche Entwicklung – Event driven,usw. • Grosse Auswahl an Controls • Designer/Assistenten Support Software: Planen. Entwickeln. Testen.
  • 16.
  • 17.
    Summary • Wird nichtASP.NET WebForms ersetzen – Ist eine Alternative • Einfach und gut zu testen • Komplexität auf Model – View – Controller verteilt • Offen, flexibel und erweiterbar Software: Planen. Entwickeln. Testen.
  • 18.