Ответ 1
Интрузивная структура данных - это та, которая требует помощи от элементов, которые она намерена хранить для их хранения.
Позвольте мне повторить это. Когда вы помещаете что-то в эту структуру данных, это "что-то" осознает тот факт, что оно находится в этой структуре данных, в некотором роде. Добавление элемента в структуру данных изменяет элемент.
Например, вы можете создать неинтрузивное двоичное дерево, где каждый node имеет ссылку на левый и правый поддеревья и ссылку на значение элемента этого node.
Или вы можете построить интрузивный, где ссылки на эти поддеревы встроены в само значение.
Примером интрузивной структуры данных будет упорядоченный список элементов, которые изменяются. Если элемент изменяется, список необходимо переупорядочить, поэтому объект списка должен вторгаться в конфиденциальность элементов, чтобы получить их сотрудничество. то есть. элемент должен знать о списке, в котором он находится, и сообщать об изменениях.
ORM-системы обычно вращаются вокруг интрузивных структур данных, чтобы минимизировать итерацию по большим спискам объектов. Например, если вы получите список всех сотрудников в базе данных, затем измените имя одного из них и захотите сохранить его обратно в базу данных, будет проинформирован о навязчивом списке сотрудников, когда объект сотрудника изменился, поскольку объект знает, в каком списке он находится.
Неинтрузивный список не будет указан, и ему нужно будет выяснить, что изменилось и как оно изменилось само по себе.