Java Reference
In-Depth Information
Clients. Das Servlet entscheidet anschließend, welche View - hierbei eine JSP - als
Antwort an den Client zurückgesendet werden soll. Nachdem die View vom Server
ausgewählt worden ist, ruft diese die Methoden einer JavaBean auf, um den Inhalt zu
erhalten. Die JavaBeans werden hier für die Haltung von Daten genutzt. Die View be-
inhaltet eine vordefinierte Struktur, beispielweise ein HTML- oder ein XML-Gerüst.
Dieses Gerüst wird mit dem erhaltenen Inhalt befüllt und als Antwort an den Client
zurückgeliefert. Bei Web-Seiten wird das Aussehen über CSS (Cascading Style Sheet)
definiert und in einer separaten Datei abgelegt. Diese wird vom Browser beim Aus-
werten der gelieferten Antwort nachgeladen.
5.6.7 Programmbeispiel
Im Folgenden wird ein Beispiel gezeigt und erklärt. In diesem Beispiel wird das MVC-
Architekturmuster dazu verwendet, verschiedene Ansichten auf die Sitzplatzverteilung
von Parteien nach einer Wahl zu präsentieren. Der Benutzer kann zur Laufzeit die An-
zeige der Sitzplatzverteilung ändern, woraufhin sich die Views selbstständig aktualisie-
ren.
Die Idee zu diesem Beispiel stammt aus [Bus98]. Es wurde hier zu einem lauffähigen
Java-Programm ausgearbeitet. Der vollständige Quellcode ist allerdings zu umfang-
reich und ist im Begleitmaterial zu diesem Buch enthalten. In der nun folgenden Dar-
stellung ist das Beispiel daher nur verkürzt wiedergegeben.
Model
Die beiden Schnittstellen IObserverInterface und IObservableInterface ge-
hören zum Beobachter-Muster. Sie ermöglichen es dem Model, seine Views über Än-
derungen zu informieren:
// Datei: IObserverInterface.java
public interface IObserverInterface
{
public void update();
}
// Datei: IObservableInterface.java
public interface IObservableInterface
{
public void registerObserver (ObserverInterface o);
public void removeObserver (ObserverInterface o);
public void notifyObservers();
}
Die Schnittstelle IModelInterface definiert das Model, das die Sitzplatzanzahl von
drei Parteien (rot, grün und blau) speichert. Zu beachten ist hier, dass die Schnittstelle
IModelInterface von der Schnittstelle IObservableInterface ableitet, um für
die View beobachtbar zu sein. Hier die Schnittstelle IModelInterface :
// Datei: IModelInterface.java
public interface IModelInterface extends IObservableInterface
{
public double getRedPercentage();
Search WWH ::




Custom Search