Benutzer:Didia/javafx

aus Wikipedia, der freien Enzyklopädie

Entwurfsmuster

Model-View-Controller

MVC steht für den englischen Begriff model view controller (deutsch etwa Modell-Präsentation-Steuerung) und ist ein Entwurfsmuster bzw. Architekturmuster zur Strukturierung der Software-Entwicklung in die drei Einheiten Datenmodell (engl. model), Präsentation (engl. view) und Programmsteuerung (engl. controller).[1] Dies ist ein wesentliches Konzept zur Programmierung grafischer Bedieneroberflächen mit JavaFX. Die Dreiteilung trennt alle Daten von der visuellen Repräsentation. Dies ermöglicht insbesondere eine leichte Veränderbarkeit, Erweiterung und Wiederverwendbarkeit einzelner Komponenten. So können beispielsweise die grafischen Komponenten weiterentwickelt werden, ohne dass sich das Datenmodell ändert.[2]

Es gibt also drei interagierende Objekte:

  • Das Model enthält die darzustellenden Daten und die Geschäftslogik. Es ist von Präsentation (View) und Steuerung (Controller) unabhängig. Es bietet Methoden an, mit denen sich der aktuelle Zustand erfragen und ändern lässt (Getter- und Setter-Methoden).
  • Die View ist für die Darstellung der benötigten Daten aus dem Datenmodell (Model) und die Entgegennahme von Benutzerinteraktionen zuständig. In diesem Sinne stellt in JavaFX die FXML-Datei die Beschreibung der View der Benutzerschnittstelle dar.
  • Der Controller ist dafür verantwortlich, dass nach einer Interaktion mit der grafischen Oberfläche die Daten im Model aktualisiert und anschliessend vom Viewer neu angezeigt werden. Der Controller ist entweder eine Java-Klasse (spezifiziert mit dem Attribut fx:controller) oder ein entsprechendes Skript. Das Eventhandling wird im MVC-Konzept also in die Controller-Klasse ausgelagert, während das Aussehen (die View) mit FXML beschrieben wird.[3]

Beans-Architektur

tbd

Einzelnachweise und Anmerkungen

  1. Anmerkung: Die Idee wurde ursprünglich 1978/1979 von Professor Trygve Reenskaug am Xerox PARC entwickelt und fand zuerst Eingang in Smalltalk.
  2. Ullenboom: Java ist auch eine Insel. 11. Auflage, 2014, S. 813; Ullenboom: Java SE 8 Standard-Bibliothek. 2. Auflage, 2014, S. 899-900.
  3. Steyer: Einführung in JavaFX. 2014, S. 132-133.