Namespace
![Niente fonti!](http://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Question_book-4.svg/45px-Question_book-4.svg.png)
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.
C++
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
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:)
Note
- ^ Vedi Aiuto:Namespace
Collegamenti esterni
- (EN) Denis Howe, namespace, in Free On-line Dictionary of Computing. Disponibile con licenza GFDL
- https://www.w3.org/TR/REC-xml-names/
![](http://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Computer_n_screen.svg/24px-Computer_n_screen.svg.png)