Une structure de données intrusive est une structure qui nécessite l'aide des éléments qu'elle a l'intention de stocker pour les stocker.
Permettez-moi de reformuler cela. Lorsque vous mettez quelque chose dans cette structure de données, ce «quelque chose» prend conscience du fait qu'il se trouve dans cette structure de données, d'une certaine manière. L'ajout de l'élément à la structure de données modifie l'élément.
Par exemple, vous pouvez créer un arbre binaire non intrusif, où chaque nœud a une référence aux sous-arbres gauche et droit, et une référence à la valeur d'élément de ce nœud.
Vous pouvez également en créer une intrusive dans laquelle les références à ces sous-arbres sont intégrées dans la valeur elle-même.
Un exemple de structure de données intrusive serait une liste ordonnée d'éléments modifiables. Si l'élément change, la liste doit être réorganisée, donc l'objet de la liste doit empiéter sur la confidentialité des éléments afin d'obtenir leur coopération. c'est à dire. l'élément doit connaître la liste dans laquelle il se trouve et l'informer des changements.
Les systèmes ORM tournent généralement autour de structures de données intrusives, pour minimiser l'itération sur de grandes listes d'objets. Par exemple, si vous récupérez une liste de tous les employés dans la base de données, puis changez le nom de l'un d'entre eux et souhaitez l'enregistrer à nouveau dans la base de données, la liste intrusive d'employés sera informée lorsque l'objet employé a changé car cela l'objet sait dans quelle liste il se trouve.
Une liste non intrusive ne serait pas révélée et devrait déterminer ce qui a changé et comment cela a changé par elle-même.