Ricerca personalizzata

magisterInformatica.it

02 - Lo spazio dei nomi

E-mail Stampa PDF

Nel capitolo precedente abbiamo fatto come esempio un programma che visualizzava a riga di comando una stringa "Ciao mondo". Di fatto, tale programma ha dimensioni molto ridotte. Tuttavia, un programma di piccole dimensioni può rapidamente crescere fino a presentare dimensioni notevoli. La crescita di un programma comporta, principalmente, due problemi. Anzitutto, una grande quantità di codice è più difficile da comprendere e da gestire. Inoltre, i programmi di grandi dimensioni in genere richiedono una grande quantità di nomi da assocciare a dati, metodi e classi. Al crescere del numero di nomi aumentano anche le probabulità che la generazione del progetto abbia esito negativo a causa del conflitto fra due o più nomi, evento che spesso si verifica quando nel programma si implementano librerie di terze parti.

In passato i programmatori hanno cercato di risolvere questo problema aggiungendo davanti ai nomi dei prefissi costituiti da qualificatori (o da insieme di qualificatori). Questa soluzione è inefficiente in quanto non scalabile: al crescere della complessitàdel progetto, i nomi diventano troppo lunghi ed il programmatore impiega meno tempo a scrivere software e più tempo a digitare (per aggiungere il prefisso), leggere e rileggere dei nomi così lunghi da risultare incomprensibili.

gli spazi dei nomi consentono di risolvere questo problema mediante la creazione di un contenitore dotato di un nome specifico e atto a raggruppare gli altri identificatori, come ad esempio le classi. Due classi con lo stesso nome non potranno essere confuse se appartengono a due spazi di nomi diversi. Per creare una classe denominata Verde all'interno dello spazio dei nomi TextHello basta scrivere quanto segue:

namespace textHello
{
Class Verde
{
...
}
}

A questo punto nei propri programmi è possibile utilizzare TextHello.Verde per fare riferimento alla classe Verde. Se un utente crea un'altra classe Verde in un altro spazio dei nomi e la installa nel computer, i propri programmi continueranno a funzionare normalmente in quanto utilizzano la classe TextHello.Verde. Se si desidera fare riferimento alla nuova classe Verde è necessario specificare esplicitamente che si intende utilizzare la classe appartenente al nuovo spazio dei nomi.

Si consiglia di definire all'interno di spazi dei nomi tutte le classi utilizzate; l'ambiente Visual Studio 2005 segue tale consiglio, in quanto in esso il nome del progetto viene utilizzato come spazio dei nomi di livello principale. Lo stesso accade per il Software Developer Kit (SDK) di .Net Framework, in cui ogni classe opera all'interno di uno spazio dei nomi. Ad esempio, la classe Console opera all'interno dello spazio dei nomi System. Ciò vuol dire che il nome completo della classe è in realtà System.Console.

Naturalmente, se fosse necessario scrivere il nome completo di una classe ogni volta, non vi sarebbe alcun vantaggio rispetto al denominare direttamente la classe SystemConsole.

Fortunatamente, questo poroblema può essere risolto con la direttiva using. L'istruzione using attiva un spazio dei nomi e nel codice che segue tale istruzione non è più necessario esplicitamente gli oggetti con lo spazio dei nomi a cui appartengono.

 

Commenti sulla guida

Ultimo aggiornamento Lunedì 11 Gennaio 2010 11:45  

Guide

Tips & Tricks

Esercizi


Top 100 Joomla