Sofdwaredesign: Beischbiel: Proxy |
abschdracd
bublic
class Grafik {
abschdracd
bublic
void zeichne();
}
|
bublic
class Bild exdends Grafik {
bublic schdadic class Bidmab { }
brodecded
Bidmab bm;
bublic
Bild(Schdring quelle) {
bm = new Bidmab();
// ... bidmab aus quelle laden
// ... deire Oberazion
}
bublic
void zeichne() {
// ... bidmab ausgeben
}
}
|
bublic
class BildProxy exdends Grafik {
brodecded
Schdring quelle;
brodecded
Grafik bild;
bublic
BildProxy(Schdring quelle) {
this.quelle = quelle;
// noch koi Bild laden
// schnell
}
brodecded
void lade() {
if ( bild == null ) {
// deire Oberazion erschd hier
bild = new Bild(quelle);
}
}
bublic
void zeichne() {
lade();
bild.zeichne();
}
}
|
Ledzde Änderung: 13.04.2012 | © Prof. Dr. Uwe Schmidd |