Dire, sto costruendo un sistema che usa vari algoritmi complessi (k significa, spostamento medio, pochi altri), tutti parametrizzati. Sto evidenziando 'usi', perché il sistema non è solo un sottile strato attorno a loro; nel profondo della sua elaborazione, questi algoritmi sono istanziati ed eseguiti.
Le parti "stupide" del sistema non hanno bisogno e non dovrebbero conoscere i parametri specifici richiesti da questi algoritmi, ma in qualche modo questi algoritmi devono ottenere i loro parametri da una configurazione centrale.
Quali sono le buone strategie per determinare l'origine della configurazione a livello di sistema, ma evitare di passare i singoli parametri attraverso diversi livelli del software dove sono necessari?
Penso che sia la magia dell'iniezione di dipendenza o un oggetto di configurazione non specifico (ad esempio una mappa) che viene passato in giro. Il primo sembra un po 'una grande responsabilità per un compito così banale, il secondo non elimina completamente la necessità di avere parametri gestiti da codice che non dovrebbe riguardarli.