Kas yra informacijos slėpimas?

Informacijos slėpimas, kaip tai susiję su kompiuteriais, reiškia programos dalių atskirimą nuo kitų dalių. Tam yra daug priežasčių, viena iš dažniausiai pasitaikančių yra paprastas atnaujinimas. Jei programos branduolys yra atskirtas nuo sąsajos, vieną ar kitą galima lengvai pakeisti nepažeidžiant jos partnerio. Tai leidžia atlikti nedidelius pagrindinių programos funkcijų pakeitimus arba galimybę sukurti keičiamo dydžio sąsają, tuo pačiu užtikrinant paprastą programos atnaujinimo procesą. Pagrindinė informacijos slėpimo dalis yra inkapsuliavimas, išlaikant kiekvieną programos segmentą atskirai nuo visų kitų.

Yra daug įvairių būdų, kaip rašyti kompiuterines programas. Ankstyvosiose kalbose programuotojas turėjo rašyti programą ištisine seka; pirmoji programos eilutė buvo viršuje, o paskutinė – apačioje. Kai programa veikė, ji iš esmės judėjo žemyn per kodą.

Šiuolaikinės programavimo kalbos retai veikia taip griežtai. Daugelis pasikliauja atskirais „objektais“, kurių kiekvienas atliks tam tikrą užduotį. Tai ne tik supaprastina programos rašymą, bet ir leidžia tam tikrą kodo dalį veikti vėl ir vėl, nereikia perrašyti. Pavyzdžiui, jei programa reikalauja rezultato iš konkrečios matematinės funkcijos penkis kartus, o ne penkis kartus rašo tą procesą, programuotojai pavers tą funkciją objektu ir programa iškvies ją penkis kartus.

Procesai, naudojami informacijos slėpimui, priklauso nuo programavimo objektinio pobūdžio. Rašant programą, kuri naudoja šias sąvokas, objektai yra skirti atskiroms programos dalims. Tokiu atveju konkretus objektas gali turėti kelias versijas, kurių kiekvieną iškviečia skirtingas programos segmentas. Aukščiau pateiktame pavyzdyje tas pats skambutis programoje skambinamas penkis kartus. Jei du iš tų skambučių atliktų sąsaja, o pagrindinė programa – tris, programuotojai parašytų du objektus, kurie būtų praktiškai identiški.

Pagrindinė priežastis, kodėl programos naudoja informacijos slėpimą, yra modifikacijų supaprastinimas. Jei programos dalis naudoja tik savo objektus, lengviau modifikuoti tą programos dalį. Jei objektai yra bendrinami visoje programoje, vienas nedidelis pakeitimas gali sukelti gedimą iš pažiūros nesusijusioje sistemos dalyje.

Antrinė informacijos slėpimo priežastis – saugumas. Jei kiekviena programos dalis veikia kiek įmanoma nepriklausomai, žalingam procesui sunkiau pereiti per sistemą. Pavyzdžiui, jei kenkėjiška programa gauna prieigą prie tam tikros inkapsuliuotos sistemos dalies, ji gali pasiekti tik tą dalį, su kuria susiduria iš pradžių. Kitos programos dalys bent laikinai lieka nepaliestos.