Co to jest ukrywanie informacji?

Ukrywanie informacji, w odniesieniu do komputerów, polega na utrzymywaniu części programu oddzielnie od innych części. Jest wiele powodów, aby to zrobić, jednym z najczęstszych jest łatwość aktualizacji. Jeśli program trzyma swój rdzeń oddzielnie od interfejsu, to jedno lub drugie można łatwo zmienić bez wpływu na jego partnera. Pozwala to na wprowadzenie niewielkich zmian w podstawowych funkcjach programu lub potencjalne skalowalny interfejs, zapewniając jednocześnie prosty proces aktualizacji programu. Kluczową częścią ukrywania informacji jest enkapsulacja, dzięki czemu każdy segment programu jest oddzielony od wszystkich innych.

Istnieje wiele różnych sposobów pisania programów komputerowych. Wczesne języki wymagały od programisty pisania programu w ciągłej sekwencji; pierwsza linia programu była na górze, a ostatnia na dole. Gdy program działał, w zasadzie przesuwał się w dół kodu.

Współczesne języki programowania rzadko działają w tak ścisły sposób. Wiele z nich polega na indywidualnych „obiektach”, z których każdy wykona określone zadanie. To nie tylko upraszcza pisanie programu, ale także pozwala na ciągłe działanie określonego fragmentu kodu bez konieczności przepisywania. Na przykład, jeśli program wymaga pięciokrotnie wyniku określonej funkcji matematycznej, zamiast wypisywać ten proces pięć razy, programiści przekształcą tę funkcję w obiekt i zlecą programowi wywołanie jej pięć razy.

Procesy wykorzystywane do ukrywania informacji opierają się na obiektowej naturze programowania. Podczas pisania programu, który wykorzystuje te pojęcia, obiekty są wyznaczane dla poszczególnych części programu. W takim przypadku określony obiekt może mieć wiele wersji, z których każda jest wywoływana przez inny segment programu. W powyższym przykładzie to samo wywołanie jest wykonywane w programie pięć razy. Jeśli dwa z tych wywołań zostały wykonane przez interfejs, a program podstawowy trzy, to programiści napisaliby dwa obiekty, które byłyby praktycznie identyczne.

Głównym powodem, dla którego programy używają ukrywania informacji, jest uproszczenie modyfikacji. Jeśli część programu używa tylko własnych obiektów, łatwiej jest zmodyfikować tę część programu. Jeśli obiekty są współdzielone w programie, jedna niewielka zmiana może spowodować awarię pozornie niepowiązanej części systemu.

Drugim powodem ukrywania informacji jest bezpieczeństwo. Jeśli każda część programu działa tak niezależnie, jak to możliwe, szkodliwemu procesowi jest trudniej przejść kaskadowo przez system. Na przykład, jeśli złośliwy program uzyska dostęp do pewnej części hermetyzowanego systemu, może uzyskać dostęp tylko do tej części, którą początkowo napotkał. Pozostałe części programu pozostają, przynajmniej chwilowo, nietknięte.