Technology Experience
.NET World

Le keywork namespace e using sono meravigliose!

Il .NET Framework è composto da una moltitudine di classi, tipi, interfacce, enum. Saremmo spaesati se non potessimo esprimere in alcun modo un concetto come: ok, adesso fammi lavorare solo con questa parte del framework. La keywork using ce lo permette.

Dalle migliaia e migliaia di classi del framework, la using seleziona/filtra solo la parte che ci interessa: System, System.Data, System.Windows, System.Xml, System.Security e così via. Saremmo tutti più confusi se non esistesse la using, e tantomeno il suo amico namespace. Avremmo tutti gli oggetti in un unico grande calderone, tutte le classi mischiate assieme, senza alcuna suddivisione logica.

La using è molto comoda anche solo per leggere il codice, vostro o altrui. E’ sufficiente aprire un file .cs, dare un’occhiata all’elenco di using dichiarate all’inizio ed avete subito l’idea chiara e precisa su cosa fa quel pezzo di codice che avete sotto il naso. Vedete System.Xml.Serialization? Da qualche parte il codice serializza o deserializza qualcosa. Vedete System.IO? Da qualche parte il codice accede a file system, utilizza uno stream in lettura o scrittura e così via.

E’ importante che l’elenco degli using sia il più breve possibile? Beh, non fatene di certo una regola, ma io personalmente credo di sì. Se avete un progetto con 20 classi – ciascuna dichiarata in un namespace diverso – avete bisogno di 20 using per utilizzare tutte quelle classi. E’ importante accorpare le classi che hanno ed espongono la stessa logica (implementata in modi diversi), che hanno forte dipendenza fra loro, che logicamente fanno parte dello stesso dominio applicativo. E’ importante che con l’utilizzo di una sola using entrino in gioco un insieme di classi coerenti e collaborative fra loro. Supponiamo di digitare using VivendoByte.Fatturazione.UserInterfaceWPF: vi aspettereste di trovare in questo namespace una classe chiamata NetworkStreamManager? Probabilmente no. Nessuno ci dà delle regole per utilizzare le keywork namespace e using: tutto è dato dal nostro buon senso, e tutto deve alla fine portare alla realizzazione di un’applicazione il cui design sia chiaro, semplice e limpido da leggere: sia per noi, sia per gli altri che un giorno metteranno mano al nostro codice.

Ricordatevelo, quindi: la namespace e la using sono nostre amiche.

Technorati Tags:    

Send to Kindle

Igor Damiani

La sua passione per l'informatica nasce nella prima metà degli anni '80, quando suo padre acquistò un Texas Instruments TI-99. Da allora ha continuato a seguire l'evoluzione sia hardware che software avvenuta nel corso degli anni. E' un utente, un videogiocatore ed uno sviluppatore software a tempo pieno. Igor ha lavorato e lavora anche oggi con le più moderne tecnologie Microsoft per lo sviluppo di applicazioni: .NET Framework, XAML, Universal Windows Platform, su diverse piattaforme, tra cui spiccano Windows 10 piattaforme mobile. Numerose sono le app che Igor ha creato e pubblicato sul marketplace sotto il nome VivendoByte, suo personale marchio di fabbrica. Adora mantenere i contatti attraverso Twitter e soprattutto attraverso gli eventi delle community .NET.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.