Müdahaleci bir veri yapısı, depolamak için depolamayı düşündüğü öğelerden yardım gerektiren bir yapıdır.
Tekrar ifade edeyim. Bu veri yapısına bir şey koyduğunuzda, bu "bir şey" bir şekilde o veri yapısında olduğu gerçeğinin farkına varır. Veri yapısına eleman eklemek, elemanı değiştirir.
Örneğin, her düğümün sol ve sağ alt ağaçlara ve bu düğümün eleman değerine bir referansa sahip olduğu, müdahaleci olmayan bir ikili ağaç oluşturabilirsiniz.
Veya, bu alt ağaçlara yapılan referansların değerin kendisine gömülü olduğu müdahaleci bir tane oluşturabilirsiniz.
Müdahaleci veri yapısının bir örneği, değiştirilebilir olan öğelerin sıralı bir listesi olabilir. Öğe değişirse, listenin yeniden sıralanması gerekir, bu nedenle liste nesnesi, işbirliğini sağlamak için öğelerin gizliliğine müdahale etmelidir. yani. eleman, içinde bulunduğu listeyi bilmeli ve değişiklikleri ona bildirmelidir.
ORM sistemleri, büyük nesne listeleri üzerindeki yinelemeyi en aza indirmek için genellikle müdahaleci veri yapıları etrafında döner. Örneğin, veritabanındaki tüm çalışanların bir listesini alırsanız, onlardan birinin adını değiştirirseniz ve bunu veritabanına geri kaydetmek isterseniz, çalışan nesnesi değiştiğinde izinsiz çalışanların listesi söylenir, çünkü nesne hangi listede olduğunu bilir.
Müdahaleci olmayan bir liste söylenmez ve neyin değiştiğini ve kendi kendine nasıl değiştiğini bulması gerekirdi.