SAI || Wintersemester 1997/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen

Übungen zu Entwicklung objekt-orientierter Bibliotheken
Blatt 8 (15. 12. 1997 - 16. 1. 1998)


Aufgabe 15 (10 Punkte)

Wenn eine sehr große Datenkollektion vorliegt und nur temporär einige Änderungen vorgenommen werden sollen, ist es normalerweise notwendig, die gesamte Kollektion zu duplizieren, wenn das Original selbst unberührt bleiben soll. Hier können Filter sehr sinnvoll sein, wenn sie modifizierende Operationen lokal bei sich behandeln und lesende Operationen weitergeben, sofern sie nicht durch lokale Modifikationen betroffen sind.

Entwickeln Sie einen entsprechenden Filter für Dictionaries, der

Auf diese Weise wird die Illusion einer echten Kopie aufrechterhalten, die nur gestört wird, falls bei der gefilterten Kollektion Modifikationen durchgeführt werden. Dies läßt sich aber mit weiteren Filterobjekten vermeiden, so daß (z.B. analog zu RCS) mit einem Versionsbaum gearbeitet werden kann.

Sie können als Ausgangsbasis eine der Lösungen (sei es von Ihnen oder die Musterlösung) zu Blatt 6 oder Blatt 7 verwenden. Die Filterimplementierung sollte Forwarders und eine objektbezogene Ausnahmenbehandlung unterstützen analog zu Aufgabe 13.


SAI || Wintersemester 1997/98 || Entwicklung objekt-orientierter Bibliotheken || Übungen

Andreas Borchert, 15. Dezember 1997