Dove esportare dalla grande app CLI [chiusa]

2

Ho creato un'app CLI di dimensioni ragionevoli con tutto diviso in classi e spazi dei nomi in modo logico. Tuttavia molti componenti devono rendere l'output dall'interno di se stessi. Che sembra disordinato.

Per espandere ...

Il programma copia i file di contenuto e i database tra i server. Viene avviato il file principale, quindi vengono caricati altri file che gestiscono la configurazione, gli argomenti CLI, il caricamento dell'ambiente ecc., Quindi i comandi inviati ad altri sistemi che eseguono alcuni test pre-volo, copia di database, controlli dell'integrità del database, sostituzioni del database, copia di file, ecc.

La maggior parte di questi sistemi ha un output durante le loro operazioni, alcuni usano le barre di progresso ASCII che devono essere aggiornate o altrimenti le righe di output che devono essere sovrascritte.

Fino ad ora ho avuto ogni sistema utilizzare una classe di output CLI iniettata dipendenza che avvolge un sacco di funzioni di output. Ma sembra ancora complicato attivare l'output da tanti sistemi diversi che dovrebbero concentrarsi solo sul loro compito di lavoro, non sull'output.

Ho sperimentato con la creazione di un altro sistema che prende i callback di tutti gli altri, quindi calcola e rende l'output. Pertanto, ogni sottosistema esegue solo il lavoro che gli è stato assegnato, ma attiva i callback con varie informazioni utili nei passaggi chiave.

Questo è bello, ma porta anche a più gonfie.

C'è qualche precedenza sul modo migliore per farlo? Forse una terza via a cui non ho pensato?

    
posta Rick 23.09.2015 - 00:19
fonte

0 risposte

Leggi altre domande sui tag