Co se skrývá informace?
Informace, které se týkají počítačů, se skrývají o tom, jak udržovat části programu odděleně od ostatních částí. Existuje mnoho důvodů, proč to udělat, jedním z nejčastějších je snadná aktualizace. Pokud program udržuje své jádro odděleně od svého rozhraní, lze jedno nebo druhé snadno změnit bez ovlivnění partnera. To umožňuje malé změny základních funkcí programu nebo potenciálu škálovatelného rozhraní, a to vše při současném jednoduchém procesu aktualizace programu. Klíčovou součástí skrytí informací je zapouzdření, které udržuje každý segment programu odděleně od všech ostatních.
Existuje mnoho různých způsobů, jak psát počítačové programy. Rané jazyky vyžadovaly, aby programátor psal program v souvislé sekvenci; první řádek programu byl nahoře a poslední řádek dole. Jak program fungoval, v podstatě se pohyboval směrem dolů skrz kód.
Moderní programovací jazyky zřídka fungují tak přísně. Mnoho se spoléhá na jednotlivé „objekty“, z nichž každý bude vykonávat určitý úkol. To nejen zjednodušuje psaní programu, ale umožňuje to, aby konkrétní část kódu fungovala znovu a znovu, aniž by bylo nutné ji přepisovat. Pokud například program vyžaduje výsledek z určité matematické funkce pětkrát, namísto zapsání tohoto procesu pětkrát, programátoři provedou tuto funkci do objektu a nechají jej program pětkrát vyvolat.
Procesy používané při skrytí informací se spoléhají na objektovou povahu programování. Při psaní programu, který tyto koncepty využívá, jsou objekty určeny pro jednotlivé části programu. V tomto případě může mít konkrétní objekt více verzí, z nichž každá je vyvolána jiným segmentem programu. Ve výše uvedeném příkladu je v programu provedeno stejné volání pětkrát. Pokud by dva z těchto hovorů bylo provedeno rozhraním a hlavní program by udělal tři, pak by programátoři napsali dva objekty, které byly prakticky totožné.
Hlavním důvodem, proč programy používají skrývání informací, je zjednodušení úprav. Pokud část programu používá pouze své vlastní objekty, je snazší tuto část programu upravit. Pokud jsou objekty sdíleny v programu, jedna malá změna by mohla způsobit selhání ve zdánlivě nesouvisející části systému.
Druhým důvodem pro skrytí informací je bezpečnost. Pokud každá část programu funguje tak nezávisle, jak je to možné, je obtížnější pro škodlivý proces kaskádovat systém. Pokud například škodlivý program získá přístup k určité části zapouzdřeného systému, může přistupovat pouze k části, se kterou se původně setkal. Ostatní části programu zůstávají, alespoň dočasně, nedotčeny.