Nelle applicazioni che scrivo al lavoro, spesso ho bisogno di avere un file di proprietà / impostazioni esterno in modo che determinati parametri possano essere configurati dopo che l'applicazione è stata distribuita all'utente finale. Il file sarà di solito testo o XML e di solito verrà implementato in C ++ o Java.
In passato, ho creato classi Singleton per gestire l'iniezione di queste proprietà / impostazioni nella mia applicazione. La classe verrebbe inizializzata con il percorso di un file, essere codificata con le chiavi di proprietà che sta cercando nel file, leggerla e memorizzare tutti gli attributi. Altre classi nell'applicazione eseguiranno quindi una chiamata come propertySingleton::getInstance().getMyParameter()
.
Più leggo e apprendo sull'ingegneria del software e sulla progettazione, più questo approccio appare goffo e intrinsecamente sbagliato. Mi stavo chiedendo se qualcuno doveva svolgere compiti simili, e come avrebbero affrontato questo approccio in modo ben orientato agli oggetti?