Tengo un gran proyecto con una parte del controlador y alrededor de 5 bibliotecas que realizan varias tareas asociadas. Muchas de las bibliotecas requieren acceso a datos de configuración 'globales' que se leen desde una base de datos al inicio mediante el código del controlador. Por conductor me refiero a la parte que contiene la función principal.
Mi idea sobre cómo manejar esto fue crear una clase de configuración con un método estático para obtener los elementos de configuración. ¿Es este el mejor enfoque? ¿De qué otra forma se podría lograr esto?
p.ej:
class config {
public:
static get_item(key);
private:
static values;
};
¿Es apropiado el diseño singleton aquí?
fuente
Creo que este es uno de los momentos en que un Singleton es realmente lo correcto.
Con respecto a la interfaz de la clase en sí, puede hacer get-by-key-name o tener accesores para los valores de configuración individuales. El último esquema ofrece cierta conveniencia (finalización de IDE para uno) y le permite convertir los valores de configuración a sus tipos de datos correctos antes de usarlos. También introduce cierta separación entre los usuarios de la clase config y su implementación interna (el hecho de que todos los valores de configuración se almacenen como, por ejemplo, cadenas, es un detalle de implementación del que el usuario de la clase no debería preocuparse).
fuente