In einem typischen Programm, das im Speicher ausgeführt wird, werden Objekte fast immer durch Referenz als Zeiger gespeichert, so dass Sie IDs für B und C speichern, nur dass Sie nicht mit den Details selbst arbeiten, die Sprache verbirgt sie von dir.
Das Laden und Speichern des "gesamten Objekts" ist ein fragwürdiges Konzept. Ich weiß, dass du versuchst, sprachunabhängig zu sein, aber eines der ersten Dinge, die mir wirklich geholfen haben, OO zu "holen", ist, dass fast jedes Objekt einen eigenen Lebenszyklus haben sollte.
Wenn Sie Objekt A haben, das Objekt B enthält, und Sie einen Verweis auf Objekt B an Objekt C übergeben, dann muss Objekt A etwas über Objekt C wissen, das ist völlig NICHT OK. Das Freigeben des Lebenszyklus von Objekt B, sodass Objekt A nichts über Objekt C weiß, ist eines der Kernkonzepte, die OO zum Funktionieren bringen.
Wenn Sie also das gesamte Objekt speichern wollten, dann tun Sie das nicht.
Und das gilt auch für Datenbanken und anderen Speicher. Selbst wenn ein Objekt dafür verantwortlich ist, ein anderes zu zerstören, sollte es selten die Daten der anderen Objekte enthalten.
Und obwohl ich denke, dass Sie sagen wollten "Objekte B und C ziehen", nicht "Methoden"), ist das Konzept, ein Objekt von einem anderen zu trennen, ebenfalls sehr nützlich und es ist im Allgemeinen nichts falsch daran mit einem Vorbehalt:
Denken Sie daran, dass ein Objekt keine Kontrolle darüber hat, was sich außerhalb von sich selbst abspielt. Es kann herumgereicht werden, Methoden, die in einer zufälligen Reihenfolge aufgerufen werden, usw. Daher ist es hilfreich, Ihr Objekt so sicher wie möglich zu halten. Wenn etwas in der falschen Reihenfolge aufgerufen wird oder eine ungültige Variable übergeben wird oder Sie feststellen, dass Sie irgendwie einen ungültigen Status eingegeben haben, schlagen Sie früh fehl und fällen Sie LOUD, so dass der Programmierer, der einen Fehler gemacht hat, diesen aufgerufen hat.
Sie möchten es auch so schwer wie möglich machen, in einen unzulässigen Zustand zu gelangen - das bedeutet, Ihr Objekt klein und einfach zu halten, Variablen möglichst abschließend zu machen und nicht zu viele Stellen zu haben, an denen Parameteraufrufe wichtig sind.
Sprechen Sie COM Aggregation? – dirkgently
Was meinst du mit "Laden". Wenn Sie Objekte haben, brauchen Sie keine IDs, weil Sie Instanzen haben. Ist diese Datenbank verwandt –
gut ich bin nicht mit COM, aber ich bin auf der Suche nach einer abstrakteren Antwort als eine bestimmte Sprache/Objekt-Modell – ckarbass