E se in genere viene fatto qualcosa nella struttura di un repository per riflettere le unità schierate?

StackOverflow https://stackoverflow.com/questions/55823

Domanda

Questo è il seguito della domanda:

Le cartelle in una soluzione dovrebbero corrispondere allo spazio dei nomi?

Il consenso su quella domanda fu un "sì" con riserva:cioè cartelle == spazi dei nomi, in generale, ma non pedissequamente (come richiede Java).

In effetti, è così che imposto i progetti.

Ma l'impostazione del controllo del codice sorgente mi ha fatto esitare riguardo alla mia attuale struttura di cartelle.Come con .NET Framework, gli spazi dei nomi nel mio progetto non sempre corrispondono uno a uno alle unità distribuite.Di' di averlo fatto

lib             -> lib.dll
lib.data        -> lib.dll
lib.ecom        -> lib.ecom.dll
lib.ecom.paypal -> lib.ecom.paypal.dll

In altre parole, gli spazi dei nomi figlio possono o meno essere forniti con il genitore.

Quindi gli spazi dei nomi distribuiti insieme sono raggruppati in qualche modo?

A proposito, non utilizzo VS o NAnt, solo i buoni batch di build vecchio stile.

È stato utile?

Soluzione

Di solito non ci penso davvero e faccio semplicemente "ciò che mi sembra giusto", ma di solito finisco per usare nomi che si adattano abbastanza bene alla seguente strategia.

Utilizzerò lo spazio dei nomi comune più alto nell'albero per il nome .dll proprio come sembra che tu stia facendo;

con lib e lib.data questa è lib quindi la dll si chiama lib.Con lib.ecom e lib.ecom.paypal questo è lib.ecom quindi la dll si chiama ecom.

In alcuni casi è necessario pensare un po' di più alle cose, ad esempio abbiamo i seguenti spazi dei nomi (avviso, esempio semplicistico in arrivo) e vogliamo raggrupparli in due dll

myapp.view
myapp.presentation

myapp.model
myapp.dataaccess

non possiamo usare myapp perché altrimenti avremmo due assembly myapp.In questo caso utilizzo il nome dello spazio dei nomi più appropriato.Il primo potrebbe chiamarsi myapp.presentation e il secondo myapp.model se questi spazi dei nomi sono i più importanti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top