Ausschnitt einer Menge repräsentieren

Patrick Kamin

Erfahrenes Mitglied
Schönen guten Tag,
ich habe gerade ein paar Probleme beim modellieren einer Situation.
Folgendes:
Ich habe eine allgemeine Liste von Objekten, als Singleton implementiert, die eine Factory-Methode besitzt, um mir neue Objekte zu erstellen und gleich in die Liste einzufügen.

Mein Problem ist jetzt, dass ich situationsbedingt eine weitere Liste habe, die einen Teilausschnitt meiner obenerwähnten Liste darstellen soll, nur wie die vorigen Elemente referenzieren?
Eine Kopie der Elemente zu erstellen und diese in die zweite Liste zu packen, ist blödsinn - direkte Referenzen auf die Elemente in der Quellliste zu haben, finde ich auch nicht schön, da beim löschen aus der Urliste immer noch irgendwo Referenzen in Teillisten bestehen könnten, die das Löschen verhindern, schlechtes Design, meiner Meinung nach, oder?
Letzte Möglichkeit wäre in der Teilliste eine Id oder einen Index zu benutzen, um das Element in der Quelliste zu referenzieren, finde ich immer noch am besten.

Was meint ihr, sind meine bisherigen Ansätze irgendwie zu gebrauchen oder gibt es noch eine andere Möglichkeit, die mich raushaut?

Hoffe auf eure Unterstützung

Mit wochenendlichen Grüßen
Patrick
 
Hallo!

Wie wärs denn wenn du anstatt "direkte Referenzen" das Refrences API verwendest und je nach deinen Anfforderungen Weak-, Soft-, Phantomreferences verwendest? Damit hättest du dann nämlich keine Probelme mit dem Garbadge Collector (na ja, bzw. andere Probleme ;-) )

Gruß Tom
 
Hi Tom,
hört sich gut an, ist allerdings direkt auf Java bezogen. Mich würde interessieren, wie man sowas aus OO Sicht aufbaut?
 
Hallo!

Wenn du das auch in anderen Sprachen nachbauen möchtest würde sich IMHO die Möglichkeit der Referenzhaltung (im Subset) in Verbindung mit einem Listener Konzept anbieten durch welches dann das Subset von etwaigen Änderungen in der Hauptmenge (Element wurde entfernt,etc.) in Kenntniss setzt.

Gruß Tom
 
Thomas Darimont hat gesagt.:
Hallo!

Wie wärs denn wenn du anstatt "direkte Referenzen" das Refrences API verwendest und je nach deinen Anfforderungen Weak-, Soft-, Phantomreferences verwendest? Damit hättest du dann nämlich keine Probelme mit dem Garbadge Collector (na ja, bzw. andere Probleme ;-) )

Gruß Tom
Hallo Tom, hast Du da gute Links parat, würde gerne mehr dazu lesen.

ciao Takidoso
 

Neue Beiträge

Zurück