Java Reference
In-Depth Information
.3 Bewertung
Applets mit der Java-Laufzeitumgebung des Browsers als Framework erfüllen ziemlich viele
unserer Eigenscha en E1 bis E4 aus Kapitel 7:
! Zu E1: Es existiert ein klares Komponentenmodell, wie eine Komponente aussehen muss.
Dazu gehören — wie gesehen — die Archiv-Datei, das <applet>-Tag, die Ableitung der Ein-
stiegsklasse aus der Klasse JApplet (oder alternativ aus Applet für AWT) und das Über-
schreiben der Methoden init, start, stop und destroy in der Einstiegsklasse. Die letzten
drei Methoden haben wir in unseren Beispielen nicht benutzt.
! Zu E2: Wie im Beispiel gesehen gibt es einen klaren Kopplungsmechanismus für Applets.
Dieser ist „komponentenorientierter“ als der Mechanismus des Prototyps aus Kapitel 6.
Denn zwar muss das Beschaff en der Referenz auf ein Objekt einer anderen Komponente
über das Anwenden der Methode getApplet auf den AppletContext programmiert werden
(entspricht dem Aufruf von lookup auf den ComponentContext im Prototyp), aber das
Anmelden einer Komponente unter einem Namen erfolgt deklarativ durch Angabe des
Namens im <applet>-Tag. Wenn also geeignete Applet-Komponenten vorhanden sind,
kann man sich vorstellen, dass man lediglich durch Verä ndern der HTML-Seite bzw. der
Jar- oder Zip-Dateien Komponenten hinzufügt, entfernt oder austauscht, wenn dies auch
nicht im laufenden Betrieb möglich ist.
! Zu E3: Objekte der Applet-Einstiegsklassen werden nicht von den Komponenten, sondern
vom Framework erzeugt. Auß erdem existiert ein Lebenszyklus für die Applet-Objekte:
Neben der Methode init wird z. B. bei Beendigung des Browsers die Methode destroy auf-
gerufen. Diese kann man durch Überschreiben anwendungsspezifi sch an seine Bedürf-
nisse anpassen. Weiterhin kann man die Methoden start und stop überschreiben. Früher
wurden diese beim Betreten bzw. Wiederbetreten und beim Verlassen einer Seite aufge-
rufen. Da es heute in der Regel so ist, dass eine Komponente beim Verlassen einer Seite
beendet und beim Wiederbetreten komplett neu initialisiert wird, gibt es keinen Unter-
schied zwischen init und start bzw. zwischen stop und destroy. Aber es bleibt festzuhal-
ten, dass ein Lebenszyklus für Applets existiert. Umgekehrt bietet das Framework den
Applet-Komponenten über den AppletContext seine Dienste an. Neben der schon benutz-
ten Methode getApplet kann z. B. mit showStatus etwas in die Statuszeile des Browsers
geschrieben oder mit showDocument der Browser veranlasst werden, eine angegebene
URL zu laden.
! Zu E4: Eine explizite Angabe darüber, was eine Komponente anbietet und von anderen
Komponenten benötigt, gibt es bei Applets nicht.
Da die ersten drei Eigenscha en ziemlich gut erfüllt sind, bewerte ich das Applet-Konzept
ohne Vorbehalte als Komponentensystem.
 
Search WWH ::




Custom Search