Namespace

terminologia informatica

In informatica un namespace, o in italiano spazio dei nomi, è una collezione di nomi di entità, definite dal programmatore, omogeneamente usate in uno o più file sorgente. Lo scopo dei namespace è quello di evitare confusione ed equivoci nel caso siano necessarie molte entità con nomi simili, fornendo il modo di raggruppare i nomi per categorie.

Attualmente il concetto di namespace è presente esplicitamente nell'XML, nel linguaggio di programmazione C++ e nelle ultime versioni di PHP, ed implicitamente in altri linguaggi.

Un namespace in C++ è invece un insieme di nomi in senso matematico, non ha né un ordine né una struttura interna. Il programmatore può definire i suoi spazi di nomi dichiarandoli con l'istruzione

namespace <nomedelnamespace> { <dichiarazione_1>; <dichiarazione_2>; ... <dichiarazione_N>}

e richiamarli in uso al momento del bisogno con l'istruzione

using namespace <nomedelnamespace>;

Tipicamente, nella programmazione C++ la necessità dei namespace si inizia ad avvertire per programmi di dimensioni medio-grandi, tuttavia utilizzare i namespace aiuta a strutturare il codice sorgente in modo migliore anche nei piccoli progetti. Il namespace più usato in ambiente C++ è il namespace std della libreria standard C++.

Namespace su MediaWiki

modifica

Nelle wiki create con il software MediaWiki, i namespace si utilizzano come prefissi delle pagine, per delimitarne l'ambito. Un esempio è quello di Wikipedia in italiano, sulla quale sono attivi diversi namespace come[1]:

  • Namespace principale – è quello di ciascuna delle voci che compongono l'enciclopedia
  • Namespace Wikipedia: indica essenzialmente le pagine di servizio afferenti all'enciclopedia
  • Namespace Aiuto: raggruppa le pagine di aiuto utili sia per coloro che si avvicinano per la prima volta a Wikipedia sia per chi vi opera abitualmente
  • Namespace Portale: precede il nome dei portali attivi su Wikipedia
  • Namespace Progetto: precede il nome dei progetti attivi su Wikipedia
  • Namespace Utente: indica le pagine degli utenti di Wikipedia
  • Namespace File: precede il nome di un file multimediale (audio, video o immagine) caricato su Wikipedia
  • Namespace Categoria: indica il nome di una categoria
  • Namespace Template: identifica uno strumento specifico di lavoro su Wikipedia

A tutti i namespace sopraelencati, incluso il namespace principale, è associato uno specifico namespace per le pagine di discussione (ad esempio Discussioni utente: è quello associato al namespace Utente:)

Collegamenti esterni

modifica
  Portale Informatica: accedi alle voci di Wikipedia che trattano di informatica