Übertragen wir das Pattern auf unser Beispiel, so ist das
Hauptprogramm der Klient, der mit der Dateiklasse umgehen kann, nicht aber mit
der ZIP-Klasse. Die Dateiklasse ist also unsere Zielklasse und die ZIP-Klassen
die zu adaptierenden Klassen. Wir haben hier 2 Klassen zu adaptieren, einmal die
Klasse für die ZIP-Datei selber und einmal die Klasse für die eigentlichen
archivierten Dateien.
|
Abb. 2: Struktur des Beispiels
|
In der Praxis wird dann anstatt eines normalen File-Objektes
für das Zip-Archiv ein ZipFileAdapter-Objekt zurückgeliefert, welches ein
Verzeichnis simuliert. Innerhalb dieses "Zip-Verzeichnisses" wird dann mit
ZipEntryAdapter-Objekten hantiert, welche die Zip-Einträge als normale Dateien
bzw. Verzeichnisse abbilden. So macht es für einen Filemanager keinen
Unterschied, ob es nun eine normale Datei oder eine gezippte Datei ist.
|