So che molte persone odiano le funzioni piatte e lunghe e odiano quando il codice non è pieno di ISomethings.
Il problema è che immagino che la mia mente funzioni in modo diverso, e ho sempre problemi con quel tipo di codice in qualsiasi soluzione non banale.
Quindi, dal momento che la maggior parte delle persone gode di un numero esplosivo di funzioni, puoi descrivere qual è il metodo preferito quando si gestiscono basi di codice sconosciute scritte in questo modo?
Finora, per me, sembra:
Ho un oggetto con interfaccia IFoo, ottimo, ho bisogno di estenderlo con il metodo Bar1. Ricerca inversa, non arriviamo da nessuna parte, ricerca globale su chi implementa IFoo, è Baz1, Baz2, Baz3, Baz4, e sono creati da 3 fabbriche di classe. Quindi iniziamo uno per uno, la definizione di Baz1, sembra carina, ma il suo comportamento dipende completamente dai parametri usati quando l'oggetto è stato creato attraverso la classe factory. E quel che è peggio, è solo un involucro attorno ad altre funzionalità di un'altra classe con IFooBar. Che utilizza ancora alcune implementazioni interne di classi con ISomethingElse, che si trasforma nuovamente in un grafico esplosivo.
Come fai a navigare in modo efficace?