Eine aufdringliche Datenstruktur erfordert Hilfe von den Elementen, die gespeichert werden sollen, um sie zu speichern.
Lassen Sie mich das umformulieren. Wenn Sie etwas in diese Datenstruktur einfügen, wird diesem "Etwas" bewusst, dass es sich in irgendeiner Weise in dieser Datenstruktur befindet. Durch Hinzufügen des Elements zur Datenstruktur wird das Element geändert.
Sie können beispielsweise einen nicht aufdringlichen Binärbaum erstellen, in dem jeder Knoten einen Verweis auf den linken und rechten Unterbaum sowie einen Verweis auf den Elementwert dieses Knotens enthält.
Sie können auch eine aufdringliche erstellen, bei der die Verweise auf diese Unterbäume in den Wert selbst eingebettet sind.
Ein Beispiel für eine aufdringliche Datenstruktur wäre eine geordnete Liste von Elementen, die veränderlich sind. Wenn sich das Element ändert, muss die Liste neu angeordnet werden, sodass das Listenobjekt in die Privatsphäre der Elemente eingreifen muss, damit sie zusammenarbeiten können. dh. Das Element muss über die Liste, in der es sich befindet, Bescheid wissen und es über Änderungen informieren.
ORM-Systeme drehen sich normalerweise um aufdringliche Datenstrukturen, um die Iteration über große Listen von Objekten zu minimieren. Wenn Sie beispielsweise eine Liste aller Mitarbeiter in der Datenbank abrufen, dann den Namen eines dieser Mitarbeiter ändern und ihn wieder in der Datenbank speichern möchten, wird die aufdringliche Liste der Mitarbeiter angezeigt, wenn sich das Mitarbeiterobjekt aufgrund dessen geändert hat Objekt weiß, in welcher Liste es ist.
Eine nicht aufdringliche Liste würde nicht erzählt und müsste herausfinden, was sich geändert hat und wie es sich von selbst geändert hat.