Quanti progetti in una soluzione sono troppi?
-
06-07-2019 - |
Domanda
Quanti progetti in un'unica soluzione sono accettabili? E per quelle app che hanno grandi numeri di progetto metti le altre dll compilate in qualche cartella comune per poter eseguire l'app?
Soluzione
Dato che in Visual Studio un progetto si compila in un assembly, la domanda che dovresti porti è "quanti assembly dovrei avere? "
Se non vi è alcun motivo per cui gli assiemi possano essere utilizzati separatamente, non ci dovrebbero essere motivi per dividerli in più progetti. Se hai diversi assiemi per imporre la stratificazione, ecco a cosa servono gli spazi dei nomi.
In una configurazione ideale, è necessario disporre di un progetto (= un assembly) per ciascun host diverso nell'applicazione e uno per la logica specifica non host.
YMMV, tuttavia, potresti voler dividere i progetti in base a chi sta lavorando sulle diverse parti, ma in realtà, cerca di limitare il numero di progetti nella tua soluzione (mentre sto scrivendo, sto lottando con un 70 + soluzione di progetti, quindi sto parlando degli abissi della mia esperienza personale).
Una discussione interessante sulla stratificazione logica / fisica delle applicazioni è disponibile sul blog di Patrick Smacchia (ad esempio http://codebetter.com/blogs/patricksmacchia/archive/2008/02/10/layering-the-level- metric-and-the-speechurse-of-method.aspx )
Altri suggerimenti
Beh, 42, ovviamente!
Non esiste una risposta giusta o sbagliata a questo. Ad alcuni sviluppatori piace creare più progetti all'interno del progetto principale. Ad altri piace compilare un assembly (la dll) e fare riferimento. Dipende dal tuo team e dal posto di lavoro.
Sono d'accordo con le risposte finora. Un ulteriore criterio è la velocità di ricostruzione della soluzione ...
Penso che questo dipenda dalle dimensioni e dal tipo dei tuoi progetti. ma per esperienza personale quando il mio numero di progetti è superiore a 5, il processo di creazione richiederà molto tempo. quindi cerco di mantenere i progetti che non ho bisogno di cambiare frequentemente in un'altra soluzione per rendere più veloce il processo di compilazione.
Finché ogni progetto è una funzionalità valida e separata e tutti i progetti sono strettamente associati (per quanto riguarda lo scopo), non è un problema.
Quello che faccio è che ho un " Librerie " progetto in cui ho inserito tutte le mie DLL esterne, quindi le faccio riferimento direttamente lì.