Che cosa nasconde le informazioni?

L’occultamento delle informazioni, per quanto riguarda i computer, consiste nel mantenere parti di un programma separate dalle altre parti. Ci sono molte ragioni per farlo, una delle più comuni è la facilità di aggiornamento. Se un programma mantiene il suo nucleo separato dalla sua interfaccia, allora uno o l’altro può essere facilmente modificato senza influenzare il suo partner. Ciò consente piccole modifiche alle funzionalità principali del programma o il potenziale per un’interfaccia scalabile, il tutto fornendo un semplice processo di aggiornamento per il programma. La parte fondamentale dell’occultamento delle informazioni è l’incapsulamento, che mantiene ogni segmento del programma separato da tutti gli altri.

Esistono molti modi diversi per scrivere programmi per computer. I primi linguaggi richiedevano al programmatore di scrivere il programma in una sequenza continua; la prima riga del programma era in alto e l’ultima in basso. Mentre il programma funzionava, si spostava sostanzialmente verso il basso attraverso il codice.

I linguaggi di programmazione moderni raramente funzionano in modo così rigoroso. Molti si affidano a singoli “oggetti” che eseguiranno ciascuno un compito specifico. Ciò non solo semplifica la scrittura del programma, ma consente a un pezzo di codice specifico di funzionare più e più volte senza bisogno di essere riscritto. Ad esempio, se il programma richiede un risultato di una specifica funzione matematica cinque volte, invece di scrivere quel processo cinque volte, i programmatori trasformeranno quella funzione in un oggetto e il programma lo richiamerà cinque volte.

I processi utilizzati nell’occultamento delle informazioni si basano sulla natura dell’oggetto della programmazione. Quando si scrive un programma che utilizza questi concetti, gli oggetti sono designati per singole parti del programma. In questo caso, un oggetto specifico può avere più versioni, ciascuna richiamata da un segmento diverso del programma. Nell’esempio sopra, la stessa chiamata viene eseguita cinque volte nel programma. Se due di queste chiamate fossero state effettuate dall’interfaccia e il programma principale ne avesse fatte tre, i programmatori avrebbero scritto due oggetti praticamente identici.

Il motivo principale per cui i programmi utilizzano l’occultamento delle informazioni è semplificare le modifiche. Se una parte del programma utilizza solo i propri oggetti, è più semplice modificare quella parte del programma. Se gli oggetti sono condivisi nel programma, una piccola modifica potrebbe causare un errore in una parte apparentemente non correlata del sistema.

Il motivo secondario per nascondere le informazioni è la sicurezza. Se ogni parte di un programma opera nel modo più indipendente possibile, è più difficile che un processo dannoso si riversi a cascata nel sistema. Ad esempio, se un programma dannoso ottiene l’accesso a una determinata parte del sistema incapsulato, può accedere solo alla parte che incontra inizialmente. Le altre parti del programma rimangono, almeno temporaneamente, intatte.