Entwickeln von interaktiven Systemen mit WAM VL 7-9 Flashcards
Wie ermöglicht man unbeeinflusste Änderungen einer Software?
Man trennt:
- fachlich technisch
- fachlich GUI
-> Präsentation/Handhabung von Funktionalität trennen
Wie setzt man unbeeinflusste Änderungen um?
Mithilfe der WAM-Entwurfsregeln(erw. SE2-Entwurfsregeln). – Werkzeuge zuständig für Präsentation/Handhabung. – Services, Materialien und Fachwerte bilden die Funktionalität ab. – Werkzeuge bestehen aus Werkzeugklasse und UI-Klasse
Welche GUI Toolkits gibt es für Java?
– AWT Abstract Windowing Toolkit
– Swing ergänzt und erweitert AWT.
– QT Jambi in C/C++ geschrieben, Java-API
– JavaFX Moderneres Look&Feel, XML für Layout, Swing-Nachfolger
Wie sollte man Werkzeuge konstruieren?
Werkzeuge immer in eine UI-Klasse und eine Werkzeug-Klasse zerlegen.
Wozu ist die Werkzeug-Klasse eines Werkzeugs?
Diese vermittelt zwischen grafischer Schnittstelle der UI-Klasse und den fachlichen Klassen.
Wozu ist die UI-Klasse eines Werkzeugs?
Dient zum Erzeugen der GUI-Komponenten, zum Layouten und Verwalten.
- erbt nicht von UI-Framework-Klassen
- stellt der Werkzeug-Klasse relevante UI-Elemente über Getter zur Verfügung
- paketinterne Klasse
Was sind die Merkmale reaktiver Software?
Die Steuerung des Kontrollflusses liegt außerhalb des Quelltextes des Anwendungsentwicklers.
Was ist ein Listener?
Damit informiert man den Anwendungscode über Ereignisse mithilfe des GUI-Codes,
Warum ist eine Zerlegung und Trennung fachlicher und technischer Anteile vorteilhaft für Änderbarkeit?
- es gibt oft Änderungen in den Bereichen Technologie, fachliche und UI
- Trennung erlaubt unbeeinflusste Änderungen
- man muss nur das ändern, was nötig ist, da anderes unbeeinflusst bleibt
Welche Teile interaktiver Systeme können durch ein GUI-Framework wie Swing realisiert werden?
- Desktop und Mobile Betriebssysteme mit Unterstützung für grafische Oberflächen.
- Plattformunabhängig
- Obejektorientierte Schnittstellen
Erläutere das Konzept der Event-Verarbeitung mittels Listener
- Jede GUI-Komponente implementiert für eine bestimmte Art von Ereignissen eine add()– Methode.
- Über diese Methode kann an einer GUI-Komponente ein
Objekt „angemeldet“ werden, welches das Interface
implementiert. - Wird ein entsprechendes Ereignis durch den Benutzer
ausgeführt, so werden alle angemeldeten Listener-Objekte
benachrichtigt. - Informationen über den Ereignistyp und weitere werden
über ein Event-Objekt übermittelt.
Erläutere die GUI-Entwicklung mit Swing mittels Layout Manager
Layout-Manager ordnen Komponenten
in einem Container an
-> Oberflächen werden relativ zueinander dargestellt
-jeder Container hat einen Layout-Manager, welches man setzt, z.B. BorderLayout
Was ist eine anonyme innere Klasse?
- Schachtelung von Klassen
- Ein Exemplar einer inneren Klasse- Parasit-Objekt, benötigt immer Exemplar der umgebenden Klasse, Wirts-Objekt
- Exemplare beider Klassen können wechselseitig auf alle Exemplarvariablen des anderen zugreifen