Cấu trúc dữ liệu xâm nhập là cấu trúc yêu cầu sự trợ giúp từ các phần tử mà nó dự định lưu trữ để lưu trữ chúng.
Hãy để tôi nói lại điều đó. Khi bạn đặt một cái gì đó vào cấu trúc dữ liệu đó, "cái gì đó" sẽ nhận thức được thực tế là nó nằm trong cấu trúc dữ liệu đó, theo một cách nào đó. Thêm phần tử vào cấu trúc dữ liệu sẽ thay đổi phần tử.
Ví dụ: bạn có thể xây dựng một cây nhị phân không xâm nhập, trong đó mỗi nút có một tham chiếu đến các cây con bên trái và bên phải, và một tham chiếu đến giá trị phần tử của nút đó.
Hoặc, bạn có thể xây dựng một cây xâm nhập trong đó các tham chiếu đến các cây con đó được nhúng vào chính giá trị.
Một ví dụ về cấu trúc dữ liệu xâm nhập sẽ là một danh sách có thứ tự các phần tử có thể thay đổi được. Nếu phần tử thay đổi, danh sách cần phải được sắp xếp lại, vì vậy đối tượng danh sách phải xâm phạm quyền riêng tư của các phần tử để có được sự hợp tác của chúng. I E. phần tử phải biết về danh sách mà nó có trong đó và thông báo cho nó về những thay đổi.
Hệ thống ORM thường xoay quanh cấu trúc dữ liệu xâm nhập, để giảm thiểu sự lặp lại trên danh sách lớn các đối tượng. Ví dụ: nếu bạn truy xuất danh sách tất cả nhân viên trong cơ sở dữ liệu, sau đó thay đổi tên của một trong số họ và muốn lưu lại vào cơ sở dữ liệu, danh sách nhân viên xâm nhập sẽ được thông báo khi đối tượng nhân viên thay đổi vì điều đó đối tượng biết nó nằm trong danh sách nào.
Một danh sách không xâm nhập sẽ không được thông báo, và sẽ phải tự tìm ra những gì đã thay đổi và cách nó thay đổi.