Lehrlingsausbildung Applikationsentwicklung – Model View Controller

So für alle die keine Ahnung haben wie die Lehrlingsausbildung der schweizerischen Programmierer abläuft, möchte ich die Umstände dieses Themas kurz erläutern.

Von der  I-CH (Informatik Schweiz, das sind diejenigen die die absolute Macht haben, was Informatik in der Schweiz anbelangt) ist vorgeschireben, dass in der Lehrlingsausbildung sogenannte Module abgehandelt werden. Diese Module beinhalten die verschiedensten Themen  von Entwicklung bis zum First-Level-Support. Nach jedem behandelten Modul findet eine grosse Prüfung statt, ein sogenannter Modulkompetenznachweis. Am Schluss der Ausbildung werden dann alle Ergebnisse der Modulkompetenznachweise zusammengezählt und der Durchschnitt daraus ermittelt, dieser zählt dann an der Lehrabschlussprüfung als Erfahrungsnote. Die ersten zwei Jahre der Grundausbildung studieren die Applikationsentwicklung die gleichen Module wie die Systemtechniker. Nach diesen zwei Jahren werden die Klassen nach ihren Fachrichtungen aufgeteilt (Programmierer werden zu einer Klasse und die Systemer bilden eine).

Nun werden die fachspezifischen Module abgehandelt. Als Programmierer kommt man dann irgendwann mal an den Punkt, wo das Modul 120 abgehandelt wird. In diesem Modul geht um das Implementieren von Benutzerschnittstellen.

Auf Deutsch erklärt:

Design für ein Programm machen, welches ergonomisch und keinesfalls der Auslöser von Augenkrebs ist.

In diesem Modul wird früher oder später das Lernziel „MVC“ behandelt. Extrem spannend und zu Anfangs sehr schwierig, wenn man es ungewohnter weise in einer fremden Entwicklungsumgebung wie Eclipse und vor allem in Java realisieren muss…

Also nun zum eigentlichen Thema dieses Eintrages. Was ist "MVC"?

"MVC" bedeutet Model View Controller und ist ein Architekturmuster zur Strukturierung der Software-Entwicklung. Dieses Muster ist in drei Einheiten aufgeteilt:

  • Model (Datenmodell, repräsentiert den momentanten Zustand eines Objektes und speichert alle Daten. Dieses Modell bietet Methoden und Funktionen an, mit denen sich der aktuelle Zustand erfragen und ändern lässt.)

  • View (Präsentation, stellt die Daten des Modells dar. Die View nutzt die Methoden des Modells um die Daten dar zu stellen.)

  • Controller (Programmsteuerung, nach Interaktion mit der grafischen Oberfläche werden die Daten im Modell aktualisiert und dann anschliessend von der View neu angezeigt.)

Die Vorteile von "MVC" sollten nun klar  ersichtlich sein. Mit "MVC" können nämlich die gleichen Daten auf verschiedenste Weise dargestellt werden, da die Applikation ja logisch auf gesplittet ist. Auch Änderungen der Daten werden sofort in allen Darstellungen aktualisiert.

Das Ziel von "MVC" ist es eigentlich, dass der Kern einer Applikation immer der gleiche sein soll, während die View, die Darstellung beliebig geändert werden kann. Einer der Nachteile von "MVC" ist die Komplexität die das Zusammenspiel von Model, View und Controller verursacht. Die Vorteile von "MVC" sollten nun klar  ersichtlich sein. Mit "MVC" können nämlich die gleichen Daten auf verschiedenste Weise dargestellt werden, da die Applikation ja logisch auf gesplittet ist. Auch Änderungen der Daten werden sofort in allen Darstellungen aktualisiert.

MVC

Ein gutes Beispiel für die Funktion von "MVC" sind dann die Diagramme in Excel. Man hat dort Tabellen mit Spalten und kann dann sehr leicht Diagramme auf das Excel-Sheet ziehen. Und diese mit den Tabellendaten füllen. Dabei spielt es überhaupt keine Rolle ob es jetzt ein Kuchendiagramm oder ein Balkendiagramm  ist.

So für all jene die sich jetzt fragen, wie und wo man das ganze anwendet, kann ich nur sagen fragt  jemand anderen… Ich hab keine Ahnung. Wink

 

Nicole Strebel

Über Nicole Strebel

Arbeitet im Bereich Web&Apps als Entwicklerin und Webdesignerin. Ist unter anderem Spezialistin in JQuery, HTML5/CSS3, VB.Net & SQL. Freizeittechnisch beschäftigen sie aktuell Cupcakes, Geocaching und Büssli fahren.
  1. Februar 28, 2009

    Interessant, die Kompetenznachweise, danke für die Aufklärung!

    MVC hiesst in unserer Terminologie einfach 3-tier architecture, also drei-Schichten-Architektur:
    1. Data Layer – Daten: Datenbank
    2. Business Logic Layer – Geschäftslogik: SPs, Datenklassen
    3. Presentation Layer – Präsentation: Web-/Win-Forms
    …zum Beispiel wie unser CMS 😉

  2. März 2, 2009

    Guter Artikel, aber MVC und n-tier Architektur bitte nicht verwechseln (siehe Kommentar #1). Die beiden Lösungen verfolgen zwar einen ähnlichen Ansatz, aber eine n-tier Applikation muss nicht zwangsläufig vollständig dem MVC Konzept entsprechen. Auf jeden Fall einen Blick wert: http://www.asp.net/mvc/

  3. März 2, 2009

    Danke für die Klarstellung und den interessanten Link zum ASP.NET Equivalent – ich verneige mein Haupt in Dehmut!

  4. Nicole Strebel
    März 4, 2009

    @ Tom Steiner
    Danke vielmals für die Korrektur.
    Die Seite ist wirklich sehr hilfreich! Falls Sie sowas Ähnliches auch für Java haben… immer raus damit 😉

Kommentar schreiben

*