Supponiamo che io abbia classi di livello basso A, B e C indipendenti l'una dall'altra. Le funzioni in esse prendono un po 'di input e compiono alcuni calcoli e restituiscono un po' di output.
Ora supponiamo di voler creare un eseguibile dove legge in alcuni dati e generare statistiche con il flusso di
input-> A.func1- > B.func1- > C.func1- > uscita
Per me sono disponibili due opzioni,
-
Crea una classe di alto livello chiamata ABC. Non esegue calcoli, semplicemente riceve l'input dalla funzione principale, analizza l'input e lo passa in A.func1 e inoltra l'output di A.func1 in B.func1 e inoltra l'output di B.func1 in C. func1 e lo invia alla funzione principale.
-
Nella funzione principale, analizzare direttamente l'input stesso, passarlo in A.func1 e poi B.func1 e poi C.func1 e quindi salvare l'output.
Se la classe ABC esegue internamente alcuni calcoli durante il richiamo di funzioni da A, B e C, non è una cattiva idea che la classe ABC debba esistere. Tuttavia, sto attraversando un periodo difficile per giustificare la necessità di una classe ABC poiché chiama solo funzioni di classe bassa senza alcun calcolo aggiuntivo. Significa anche che se vogliamo creare 10 eseguibili che utilizzano le funzioni delle classi di basso livello con combinazioni e ordini diversi, avremo 10 di queste classi di alto livello.
Tuttavia, ho sentito dire che avere una classe ABC di alto livello è meglio perché Perché main () dovrebbe essere breve?
Quale approccio è migliore?