Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum 07.06.2004 Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage.

Ähnliche Präsentationen


Präsentation zum Thema: "Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum 07.06.2004 Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage."—  Präsentation transkript:

1 Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum 07.06.2004 Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage für Nutzerschnittstellen

2 07.06.2004Model – View - Controller Ziel Zeigen, wie die OOP mit Eingabe und Ausgabe (Input/Output, I/O) umgeht Was ist Besonderes an I/O? Entwurfsmuster: Model-View-Controller

3 07.06.2004Model – View - Controller Was ist Besonderes an I/O ? I/O arbeitet mit Hardware-Komponenten auf unterster Software-Ebene des Betriebssystems realisiert wird durch (in OOP: Klassen-) Bibliotheken vor Programmierer gekapselt I/O-Fehler erfordern besondere Vorkehrungen Grundfunktionen (Dateisystem, Konsole, GUI, Drucker) in Java Betriebssystem-unabhängig in der Standard- API

4 07.06.2004Model – View - Controller Was ist Besonderes an I/O ?

5 07.06.2004Model – View - Controller MVC: Model-View-Controller Model-View-Controller Entwurfsmuster (engl.: design pattern) der OOP MVC ist eine (nicht nur in Java verwendete) Klassenkombination für den Aufbau von Benutzerschnittstellen wesentlich: Trennung von Modell und I/O Modell (Model): Anwendungsobjekt Sicht (View): Darstellung des Modells auf dem Bildschirm (evtl. mehrfach) Steuerung (Controller): definiert Reaktion der Benutzerschnittstelle auf Eingaben

6 07.06.2004Model – View - Controller MVC: Model-View-Controller Beispiel zum Zusammenspiel der Objekte: Eingabe oder interne Nachricht Nachricht: geänderte Daten Daten senden Daten fordern

7 07.06.2004Model – View - Controller MVC Ein Objekt, mehrere Darstellungen Präsentation ändert sich häufiger als Funktionalität Tipp: immer zuerst Kernklassen entwerfen, dann Benutzerschnittstelle entwerfen

8 07.06.2004Model – View - Controller Java Beispiel

9 07.06.2004Model – View - Controller Model class FigureContainer{ List figures_; boolean isChanged_; FigureContainer(){ figures_ = new ArrayList(); isChanged_ = false; } void add(FigureInterface fig){ figures_.add(fig); isChanged_ = true; } boolean isChanged(){ return isChanged_; } Iterator iterator(){ return figures_.iterator(); }

10 07.06.2004Model – View - Controller View class View{ View() {} FigureInterface figureIn(){ return new Circle(10.0D * Math.random()); } void figureOut(FigureContainer cont){ Iterator itr = cont.iterator(); System.out.println("FIGURE_CONTAINER:"); while (itr.hasNext()){ FigureInterface fig = (FigureInterface)itr.next(); System.out.println(fig.getClass().getName()); } System.out.println("END"); }

11 07.06.2004Model – View - Controller Controller class Controller{ View view_; FigureContainer container_; Controller(){ view_ = new View(); container_ = new FigureContainer(); } void run(){ for (int i = 1; i <5; i++){ container_.add(view_.figureIn()); } if (container_.isChanged()){ view_.figureOut(container_); }

12 07.06.2004Model – View - Controller Beispiel public class FigureViewExample { public static void main(String[] args) { Controller controller = new Controller(); controller.run(); System.out.println("finish"); }

13 07.06.2004Model – View - Controller Zusammenfassung Das Modell der Anwendung und die Darstellung des Modells am Bildschirm sind zwei getrennte Konzepte. Aussicht auf nächste Woche - Javas Standard- Klassen (schon mal im Tutorial vorbereiten): um Werte als Text ein- und auszugeben für grafische Interaktion: GUI-Klassen

14 07.06.2004Model – View - Controller Aufgabe Implementierung des MVC Beispiels aus diesen Folien Einlesen in Grundlagen zur GUI-Entwicklung in Java ("Creating a GUI with JFC/Swing")Creating a GUI with JFC/Swing Mindestens(!!!) Beispiel "HelloWorldSwing" nachimplementieren Bis nächste Woche müssen Sie Wissen, was hinter folgenden Begriffen steckt: Container, Components Layout Manager Event Handling


Herunterladen ppt "Sommersemester 2004 Jan Drewnak Entwicklung und Einsatz von Geosoftware I Praktikum 07.06.2004 Sitzung 6 Sitzung 6: Model-View-Controller als Grundlage."

Ähnliche Präsentationen


Google-Anzeigen