Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Com realizzare il concetto di "package" in C#?
giovedì 05 giugno 2008 - 15.42
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
paquito_ita
Profilo
| Senior Member
224
messaggi | Data Invio:
gio 5 giu 2008 - 15:42
Ciao,
sto realizzando un'applicazione(non web) C# con VS 2005. Ho diverse classi che devono essere raggruppate logicamente insieme. Venendo da Java, realizzerei tranquillamente questo definendo dei package che raggruppino tali classi con funzionalità semnticamente legate.
Come posso realizzare lo stesso concetto anche in C# senza ricorrere a librerie .dll?
E' possibile definire delle "cartelle" all'interno dello stesso codice che fungano da package ed il cui contenuto sia disponibile alle altre classi del progetto?
Grazie
bluland
Profilo
| Guru
1.149
messaggi | Data Invio:
gio 5 giu 2008 - 18:20
Ciao,
dovresti creare una class library.
Saluti
--------------------
Vincenzo PESANTE
System Engineer
freeteo
Profilo
| Guru
6.542
messaggi | Data Invio:
gio 5 giu 2008 - 20:52
ciao,
diciamo che il concetto di Package avrebbe l'equivalente in .net con il nome di "Namespace".
Quest'ultimo però puoi essere fatto anche all'interno dello stesso file, piuttosto che dello stesso progetto, quindi non c'è un obbligo di avere una divisione anche "fisica" delle classi, chiaro è anche che è praticamente "obbligatorio" oramai come approccio, sia perchè non costa niente, e da benefici successivi.
Quando crei una directory dentro ad un progetto .net, le classi che metterai li dentro vengono automaticamente messe con il namespace pari alla directory che hai creato, quindi è come il Package di Java di cui stai parlando tu, vero è anche però, che tu puoi cambiarlo a mano, e non far rispettare alla classe la gerarchia dei file che hai sul disco, quindi come dicevo prima non sei obbligato e puoi fare quello che vuoi, ma rimango dell'idea che sia una cosa da farsi cmq, per non pastrocchiare i progetti inutilmente, senza un reale beneficio.
Tutto questo vale anche se decidi di avere delle classi in progetti "libreria" differenti (ai quali farai riferimento) i quali ovviamente avrabbo il loro Namespace dato dal nome del progetto+tutte le event sottocartelle gerarchicamente,e inoltre saranno (a compilazione avvenuta) fisicamente anche in una dll diversa.
A mio avviso quindi, se devi progettare classi che potranno essere utilizzate in progetti distinti, se vuoi strutturarti con i classici Layer di OOD (Object Oriented Design) etc...allora lavori con progetti differenti per i compiti che ti servono, dentro ai quali fai le directory (intendo tastoDX->create Dir dentro a visual studio) e ci metterai dentro le classi che hanno dei comportamenti comuni, altrimenti puoi fare tutto in un progetto singolo, dividendo a cartelle, oppure ancora potrai fare tutti i file dentro alla root del progetto e cambiare tu a mano i Namespace (quest'ultima operazione ha poco senso ma si può fare cmq).
Neanche a dire io lavoro con progetti differenti quando sono in strati differenti, quando sono nello stesso strato uso le directory e i Namespace dati dalle directory stesse, per cui per quanto mi riguarda "c# Namespace=Package Java"
Qualche link per approfondire:
http://msdn.microsoft.com/it-it/library/z2kcy19k
(VS.80).aspx
http://en.wikipedia.org/wiki/Namespace_%28computer_science%29
http://www.csharp-station.com/Tutorials/Lesson06.aspx
ciao.
Matteo Raumer
[MCAD .net]
http://blogs.dotnethell.it/freeteo
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !