Mis on teabe varjamine?

Teabe peitmine, nagu see puudutab arvuteid, seisneb programmi osade hoidmises teistest osadest eraldi. Põhjuseid selleks on palju, üks levinumaid on uuendamise lihtsus. Kui programm hoiab oma tuuma liidesest lahus, saab üht või teist lihtsalt muuta, ilma et see partnerit mõjutaks. See võimaldab teha väikseid muudatusi programmi põhifunktsioonides või skaleeritava liidese potentsiaali, pakkudes samal ajal programmi lihtsat uuendamisprotsessi. Teabe peitmise põhiosa on kapseldamine, mis hoiab programmi iga segmendi kõigist teistest eraldi.

Arvutiprogrammide kirjutamiseks on palju erinevaid viise. Varased keeled nõudsid programmeerijalt programmi pidevat kirjutamist; programmi esimene rida oli üleval ja viimane rida all. Kui programm töötas, liikus see koodis põhimõtteliselt allapoole.

Kaasaegsed programmeerimiskeeled töötavad harva nii rangelt. Paljud toetuvad üksikutele “objektidele”, millest igaüks täidab konkreetset ülesannet. See mitte ainult ei lihtsusta programmi kirjutamist, vaid võimaldab teatud koodijupil töötada ikka ja jälle ilma, et seda oleks vaja ümber kirjutada. Näiteks kui programm nõuab konkreetse matemaatilise funktsiooni tulemust viis korda, selle asemel, et seda protsessi viis korda välja kirjutada, muudavad programmeerijad selle funktsiooni objektiks ja lasevad programmil seda viis korda kutsuda.

Info peitmisel kasutatavad protsessid toetuvad programmeerimise objektloomusele. Neid kontseptsioone kasutava programmi kirjutamisel määratakse objektid programmi üksikute osade jaoks. Sel juhul võib konkreetsel objektil olla mitu versiooni, millest igaüks kutsub esile programmi erinev segment. Ülaltoodud näites tehakse programmis viis korda sama kõne. Kui liides tegi neist kõnedest kaks ja põhiprogramm kolm, kirjutaksid programmeerijad kaks praktiliselt identset objekti.

Peamine põhjus, miks programmid kasutavad teabe peitmist, on muudatuste lihtsustamine. Kui programmi osa kasutab ainult oma objekte, on seda programmi osa lihtsam muuta. Kui objekte jagatakse programmis, võib üks väike muudatus põhjustada tõrke süsteemi näiliselt mitteseotud osas.

Info peitmise teisene põhjus on turvalisus. Kui programmi iga osa töötab võimalikult iseseisvalt, on kahjulikel protsessidel keerulisem süsteemist kaskaadida. Näiteks kui pahatahtlik programm saab juurdepääsu kapseldatud süsteemi teatud osale, pääseb ta juurde ainult sellele osale, millega ta algselt kokku puutub. Programmi ülejäänud osad jäävad vähemalt ajutiselt puutumata.