Java-Pattern Tutorial

Kapitel
Grundlagen Beispielcode UML-Darstellung Übung
Home

Einführung

GUI programmieren

Patterns

   MVC

Verzeichnisse

UML-Diagramme zu MVC-Pattern

UML-Diagramme (Unified Modelling Language) werden im Rahmen der objektorientierten Analyse und Design angewandt. Das Ziel dieser Diagramme ist eine möglichst komplette Klassenhierarchie des Programms. Es gibt zahlreiche Hersteller und Produkte, mit denen die UML-Diagramme zur Modellierung eingesetzt werden können.

Beispiele hierfür sind Together oder Eclipse mit dem Plug-In EclipseUML von Omondo (für weitere Werkzeuge [Jeckle, 2004]).

Für diese Beispiele habe ich Eclipse mit dem oben genannten Plug-In von Omondo verwendet.

Klassendiagramm

Somit fangen wir bei dem Klassendiagramm des vorigen Beispiels an. Auf den ersten Blick scheint der Umfang des Klassendiagramms sehr groß. Dabei muss der Betrachter zunächst alle unwesentlichen Elemente sich wegdenken. 

Unwesentliche Elemente des Klassendiagramms:

  • Getter/Setter-Methoden (außer Verweise auf andere Objekte)
  • Attribute
  • Methoden, die von Interfaces übernommen sind

Unwesentliche Elemente dürfen zunächst überlesen werden. Müssen aber dennoch verstanden werden.

Wichtige Elemente:

  • Startpunkt des Programms (Hauptmethode)
  • Businessmethoden des Models
  • Ereignisbehandelnde Methoden des Controllers
  • Anzeigemethoden des View

Abb. 3.4: Klassendiagramm MVC Beispiel

Sequenzdiagramm

Hier werden alle vorkommende Interaktionen des Benutzers mit der grafischen  Benutzeroberfläche abgehandelt.

  • Programmstart
  • Kunde anzeigen
  • Bonität prüfen

Abb. 3.5: Sequenzdiagramm MVC-Beispiel

Programmstart

  1. Anwendung C_Funktionsauswahl wird ausgeführt.
  2. Anwendung initialisiert und startet den Controller c.
  3. Der Controller c initialisiert den View w und übergibt sich selbst als Parameter dem View. Damit ist der Controller beim View registriert.
  4. Controller c initialisiert das Model m parameterlos.
  5. Controller c registriert das Model m beim View w.
  6. View w wird gestartet.

Abb. 3.6: Sequenzdiagramm MVC-Beispiel: Programmstart

Kunde anzeigen

  1. Benutzer hat Kundenname eingegeben und klickt auf Schaltfläche "Kunde anzeigen".
  2. Controller c ruft Methode erstelleKunde(name) des Models m auf.
  3. Model m sucht in der Datenbank nach dem Kunde und setzt seine Attribute mit Hilfe des Suchresultats.
  4. Controller c veranlasst View w über die Methode kundeAnzeigen(), seine Anzeige zu aktualisieren.
  5. View w holt sich die Daten über die get-Methoden des Models m ab. und zeigt sie an.

Abb. 3.7: Sequenzdiagramm MVC-Beispiel: Kunde anzeigen

Bonität prüfen

  1. Benutzer hat Auftragswert eingegeben und klickt auf Schaltfläche "Bonität prüfen".
  2. Controller c ruft Methode hatBonitaet(wert) des Models m auf.
  3. Model m berechnet Bonität und speichert sie als boolschen Ausdruck im Attribut bonitaet.
  4. Controller c veranlasst View w über die Methode bonitaetAnzeigen(), seine Anzeige zu aktualisieren.
  5. View w holt sich die Bonität über die getBonitaet()-Methode des Models m ab. und zeigt sie an.

Abb. 3.8: Sequenzdiagramm MVC-Beispiel: Kunde anzeigen

 

Damit ist alles wichtige zum MVC-Entwurfsmuster gesagt. Weiter geht es mit einer Übung dazu.