Fachkonzept-Klassen
Eine Fachkonzept-Klasse (auch Domänenklasse oder Business-Logik-Klasse) modelliert die fachliche Logik einer Anwendung. Sie enthält ausschließlich die Verarbeitungsvorschriften und Berechnungen, die zum jeweiligen Anwendungsgebiet gehören.
Wichtig: Fachkonzept-Klassen führen keine Ein- oder Ausgabeoperationen durch und besitzen keine graphische Darstellung.
Dadurch können Fachkonzept-Klassen mit völlig unterschiedlichen Benutzeroberflächen (UI = Kurzform für User Interface) zusammenarbeiten.
Beispiel:
public double getIdealgewicht() { double ideal = (groesse-100) * 0.90; return ideal; }
Diese Methode berechnet das Idealgewicht und liefert den berechneten Wert zurück.
Würde man – wie im folgenden Beispiel – die Berechnung mit einer Ausgabe verbinden, wäre die Methode nicht mehr rein fachlich, sondern an eine bestimmte Art der Benutzeroberfläche (hier: Konsolenausgabe) gebunden:
public double getIdealgewicht() { double ideal = (groesse-100) * 0.90; System.out.println("Idealgewicht = " + ideal); return ideal; }
Solche Methoden sind für den Einstiegsunterricht oft praktisch, für eine saubere Fachkonzept-Klasse aber ungeeignet.
Entfernt man die Konsolenausgabe, kann die Methode problemlos in verschiedenen UI-Typen (z. B. GUI mit Swing/JavaFX oder Weboberflächen) verwendet werden.
Benutzeroberflächen-Klassen
Eine Benutzeroberflächen-Klasse (UI-Klasse) ist für die Interaktion mit dem Benutzer zuständig. Sie enthält Anweisungen zur Eingabe und Ausgabe von Informationen, z. B. über Konsolen, graphische Oberflächen oder Webinterfaces.
Da die Anforderungen an Benutzeroberflächen sehr unterschiedlich sind (hochauflösende Monitore ohne Touch-Bedienung, Tablets mit Touch, Smartphones mit kleinem Bildschirm), können auch mehrere verschiedene UI-Klassen für dieselbe Fachlogik existieren.
In der Regel liegt die main()-Methode in einer UI-Klasse, da sie den Startpunkt des Programms bildet.
Zusammenarbeiten zwischen Fachkonzept und UI
Eine Fachkonzept-Klasse wie z. B. Kunde muss nur einmal implementiert werden. Sie wird dann von unterschiedlichen UI-Klassen genutzt.
-
Läuft die Anwendung auf einem Tablet, ruft eine mobile UI-Klasse die Methoden von Kunde auf.
-
Läuft sie auf einem Desktop-Rechner, übernimmt eine andere UI-Klasse diese Aufgabe.
Ändern sich die fachlichen Anforderungen (z. B. in der Kundenverwaltung), muss lediglich die Fachkonzept-Klasse angepasst werden. Die UI-Klassen bleiben unverändert, solange ihre Schnittstellen unverändert bedient werden können.
Der Informationsfluss
Der Informationsfluss zwischen den Klassenarten folgt einer klaren Regel:
Die Fachkonzept-Klassen dürfen keine Kenntnis der UI-Klassen haben. So bleiben sie unabhängig und wiederverwendbar.
Die UI-Klassen müssen dagegen Zugriff auf die Fachkonzept-Klassen haben. Nur so können sie fachliche Informationen (zum Beispiel das berechnete Idealgewicht) an den Benutzer weitergeben, etwa durch Ausgabe auf der Konsole oder in einer Textbox.
- Balzert: Objektorientiert Programmieren, 4. Auflage, Springer-Verlag Berlin 2025.