Dieser Modul ist zuständig für ein Objekt (eine Datenstruktur), das die Titeln enthält, die von einem File eingelesen wurden. Wir nennen dieses Objekt Titelobjekt. Seine Struktur ist dieselbe wie die der Titeltabelle des herkömmlichen Ansatzes, d.h., sie ist ein Array im Hauptspeicher. Es gibt aber zwei wesentliche Unterschiede, die es zu einem Objekt und nicht zu einer Datenstruktur machen:
Der Titelmodul stellt eine Menge von Operationen zur Verfügung, mit deren Hilfe die anderen Module das Titelobjekt manipulieren können. Diese Operationen stellen die einzige Möglichkeit dar, wie andere Module das Titelobjekt benutzen können. Ein direkter Zugriff auf ein Titelobjekt ist nicht möglich.
Nehmen wir nun beispielsweise an, der Titelmodul stellt folgende Operationen zur Verfügung:
Buchstabe (t, w, b) | Gibt den b-ten Buchstaben des w-ten Wortes des t-ten Titels im Titelobjekt zurück. |
Setze_Buchstabe (t, w, b, s) | Setzt den t-ten, w-ten, b-ten Buchstaben im Titelobjekt auf den Wert s. |
Anzahl_der_Woerter (t) | Gibt die Anzahl von Wörtern im t-ten Titel des Titelobjektes zurück. |
Loesche_Titel (t) | Löscht den t-ten Titel des Titelobjektes. |
Loesche_Wort (t, w) | Löscht das w-te Wort im t-ten Titel des Titelobjektes. |
Der Titelmodul stellt noch andere Operationen zur Verfügung, aber wesentlich ist die Idee, wie solche Operationen aussehen. Andere Module benutzen das Titelobjekt, indem sie diese Operationen verwenden, sie können das Objekt nicht direkt manipulieren.
Man kann sich das Titelobjekt als Black Box vorstellen (vgl. Abbildung 18.12),
Abbildung 18.12: Titelmodul als Black Box
das die tatsächliche Darstellung des Titelobjektes verbirgt, d.h., es verbirgt die Tatsache, daß es ein Array im Hauptspeicher ist. Die Knöpfe an der Vorderseite der Schachtel stehen für die Operationen, die das Titelobjekt zur Verfügung stellt.
Johann Blieberger