Una estructura de datos intrusiva es aquella que requiere la ayuda de los elementos que pretende almacenar para poder almacenarlos.
Déjame reformular eso. Cuando pones algo en esa estructura de datos, ese "algo" se da cuenta del hecho de que está en esa estructura de datos, de alguna manera. Agregar el elemento a la estructura de datos cambia el elemento.
Por ejemplo, puede construir un árbol binario no intrusivo, donde cada nodo tiene una referencia a los subárboles izquierdo y derecho, y una referencia al valor del elemento de ese nodo.
O puede crear uno intrusivo en el que las referencias a esos subárboles estén integradas en el valor mismo.
Un ejemplo de una estructura de datos intrusiva sería una lista ordenada de elementos que son mutables. Si el elemento cambia, la lista debe reordenarse, por lo que el objeto de la lista debe inmiscuirse en la privacidad de los elementos para obtener su cooperación. es decir. el elemento debe conocer la lista en la que se encuentra e informarle de los cambios.
Los sistemas ORM generalmente giran en torno a estructuras de datos intrusivas, para minimizar la iteración sobre grandes listas de objetos. Por ejemplo, si recupera una lista de todos los empleados en la base de datos, luego cambia el nombre de uno de ellos y desea guardarlo nuevamente en la base de datos, la lista intrusiva de empleados se le informará cuando el objeto empleado cambie porque eso El objeto sabe en qué lista se encuentra.
Una lista no intrusiva no se informaría y tendría que averiguar qué cambió y cómo cambió por sí mismo.