globale Objekte verwenden

Cruz

Cruz

No Bullshit
Hallo!

Ich habe eine Designfrage. Ich schreibe gerade ein groesseres Stueck Software, in der an jeder Stelle auf eine zentrale Konfiguration zugegriffen wird. Da das so haefig vorkommt, moechte ich den Komfort haben an jeder Codestelle mit der Syntax config.irgendnevariable an meine Konfigurationsvariablen dranzukommen. Ich sehe derzeit nur zwei moeglichkeiten das zu erreichen.

1. Das config Objekt mit extern als globales Objet zur Verfuegung zu stellen.

Config.h:

class Config
{
...
}

extern Config config;

Config.cpp:

#include "Config.h"

Config config;

Config::Config()
{
...
}

Alle Objekte muessen dann entsprechend Config.h includen und koennen dann die config. Syntax verwenden.


2. Alle Objekte erben von einer Configurable Klasse, das die Konfiguration als statischen Member hat.

class Configurable
{
static Config config;
}


Was meint ihr dazu? Welcher ist der bessere Weg oder gibt es noch einen besseren?

Cruz
 
Hi,

ich würde hier Config relativ früh instantiieren und allen Klassen die Config benötigen einen Pointer von dem Objekt mit geben.

Code:
Config *cnf;
cnf = new Config();

FooKlasse foo*;
foo = new FooKlasse(cnf, .....) ;
 

Ähnliche Themen

Squid nur zum maskieren der eigenen IP, nicht für Webserver auf port 80

Samba - Windows Client darf nicht zugreifen

Zurück
Oben