Il problema principale
Vedendo il buon supporto la maggior parte delle piattaforme di programmazione moderni hanno per la gestione dei pacchetti (si pensi gem
, npm
, pip
, ecc), ha senso per la progettazione di un'applicazione o di un sistema composto di pacchetti sviluppati internamente, in modo da promuovere e creare un'architettura loosely coupled?
Esempio
Un esempio di ciò sarebbe la creazione di 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 utilizza questi pacchetti, invece di includere il loro codice nella propria base di codice.
considerazioni
A mio avviso, ciò favorirebbe il disaccoppiamento del codice e aiuterebbe la manutenibilità, quasi in un modo basato sul Web rispetto all'applicazione desktop (gli aggiornamenti vengono applicati quasi automaticamente, la base di codice singolo per funzionalità singola, ecc.).
Sembra un concetto di design razionale e sano? Questo è attualmente utilizzato come un modo standard di strutturare le applicazioni?