Incapsula le librerie di applicazioni comuni in un singolo progetto di libreria

1

La mia azienda sta pianificando di integrare 3 librerie interne in tutte le nostre applicazioni (con forse più in arrivo), e mi chiedo quale sia il modo migliore per farlo.

La mia prima reazione è di mettere il codice di tutti e 3 in una singola libreria e usarlo in tutte le nostre applicazioni, ma sembra che finirebbe per essere una soluzione ingombrante (specialmente se sviluppiamo ulteriori librerie). Questo potrebbe anche essere un incubo per il debug.

La mia soluzione ideale sarebbe quella di raggruppare tutte le singole librerie in una singola libreria usando i riferimenti del progetto. Questa libreria consentirebbe l'accesso e inizializza le librerie secondarie utilizzando i dati trasmessi attraverso il programma principale. Quindi suppongo che sarei in grado di aggiungere la libreria in bundle a ciascuno dei nostri programmi facendo riferimento al progetto in bundle.

Facendo riferimento al progetto di libreria in bundle, la mia applicazione accederà a tutte le librerie disponibili per la libreria in bundle? C'è un approccio migliore da usare qui?

    
posta Rolan 15.06.2016 - 19:56
fonte

1 risposta

1

Se crei una quarta lib e usi i riferimenti al progetto, non otterrai il risultato desiderato, in questo modo un consumatore di quella lib dovrà comunque fare riferimento a tutte le librerie individualmente. Tuttavia, almeno puoi inserire il codice di inizializzazione in quella quarta lib.

La tua prima alternativa funzionerà molto probabilmente quando manterrai ognuna delle librerie correnti nel proprio spazio dei nomi e userai uno strumento come NDepend per assicurarti che non ci siano riferimenti ciclici (o nessun riferimento, se questo è ciò che avere ora) tra i diversi spazi dei nomi. Ciò manterrà le librerie in uno stato in cui è ancora possibile separarle in qualsiasi momento e usarle singolarmente, se necessario. E sì, con un numero crescente di librerie che ti aiuteranno a mantenere i tempi di costruzione bassi (tuttavia, non mi preoccuperei di questo finché i tuoi progetti faranno riferimento a più di 100 assiemi, ma YMMV).

    
risposta data 15.06.2016 - 21:48
fonte

Leggi altre domande sui tag