Il problema principale
Visto il buon supporto che la maggior parte delle moderne piattaforme di programmazione ha per la gestione dei pacchetti (pensa gem
, npm
, pip
, ecc.), ha senso progettare un'applicazione o un sistema composto da pacchetti sviluppati internamente, quindi come promuovere e creare un'architettura liberamente accoppiata?
Esempio
Un esempio di questo sarebbe creare pacchetti per l'accesso al database, nonché per l'autenticazione e altri componenti del sistema. Questi, ovviamente, usano anche pacchetti esterni. Quindi, il tuo sistema importa e usa questi pacchetti - invece di includere il loro codice all'interno della propria base di codice.
Considerazioni
Per quanto mi riguarda, sembra che ciò promuova il disaccoppiamento del codice e aiuti la manutenibilità, quasi in un tipo di applicazione basata sul Web rispetto a desktop (gli aggiornamenti vengono applicati quasi automaticamente, base di codice singolo per singola funzionalità, ecc. ).
Questo sembra un concetto di design razionale e sano? Oggi è usato come un modo standard per strutturare le applicazioni?