Hallo,
nehmen wir an, wir haben eine Applikation, wenn diese mit dem Paramter -x aufgerufen wird, sollen bestimmte Methoden / Funktionen bestimmte Aktionen ausführen...
Wie würdet ihr das am besten umsetzen, so das ich in den jeweiligen Methoden überprüfen kann, ob Parameter gesetzt??
bestimmte variablen global verfügbar...
-
- Beiträge: 190
- Registriert: 19. August 2010 10:00
-
- Beiträge: 190
- Registriert: 19. August 2010 10:00
Re: bestimmte variablen global verfügbar...
Was ich gedacht habe, ist, eine Art Registry zu bauen, welche Anwendungsweit verfügbar ist..
main.cpp:
andereDatei.cpp:
Oder gibt es bessere Ideen?
main.cpp:
Code: Alles auswählen
Registry::set("xModeEnabled", QVariant(true));
Code: Alles auswählen
if (Registry::get("xModeEnabled").toBool()) {
doSomething();
}
Re: bestimmte variablen global verfügbar...
Ich habe ein ähnliches Konzept in einem Java-Programm umgesetzt und habe irgendwann festgestellt, daß es weniger Fehleranfällig ist, Konstanten zu verwenden statt Strings als Schlüssel. (Wobei man beide Möglichkeiten auch mischen könnte).
-
- Beiträge: 190
- Registriert: 19. August 2010 10:00
Re: bestimmte variablen global verfügbar...
was heißt "so ähnlich" gelöst? Mir würde dein genauer Lösungsweg interessieren....
lg
lg
Re: bestimmte variablen global verfügbar...
Er schrieb doch nicht "so ähnlich gelöst" sondern "ein ähnliches Konzept"
Generell:
Wenn du (sich zur Laufzeit ändernde) Informationen an zentraler Stelle speicherst und diese an mehreren unabhängigen Stellen im Programm brauchst, hast du zwei Optionen:
1) Zugriff über Singleton/globale Variable/statische Funktionen/...
2) Das entsprechende Objekt (objekt)lokal speichern und eine Referenz darauf herumreichen.
1) ist die einfachere Lösung, da 2) einen recht tiefen Eingriff in bestehende Projekte bedeuten würde und einen gewissen API-Overhead erzeugen kann.
Dafür ist 2) aus OOP-Sicht die schönere Lösung: Halte Objekte so lokal wie möglich. Wenn man immer den einfachsten Weg sucht, macht man am Ende für alles was man nur einmal braucht die Lösung 1), dann kann man aber auch gleich C programmieren
Generell:
Wenn du (sich zur Laufzeit ändernde) Informationen an zentraler Stelle speicherst und diese an mehreren unabhängigen Stellen im Programm brauchst, hast du zwei Optionen:
1) Zugriff über Singleton/globale Variable/statische Funktionen/...
2) Das entsprechende Objekt (objekt)lokal speichern und eine Referenz darauf herumreichen.
1) ist die einfachere Lösung, da 2) einen recht tiefen Eingriff in bestehende Projekte bedeuten würde und einen gewissen API-Overhead erzeugen kann.
Dafür ist 2) aus OOP-Sicht die schönere Lösung: Halte Objekte so lokal wie möglich. Wenn man immer den einfachsten Weg sucht, macht man am Ende für alles was man nur einmal braucht die Lösung 1), dann kann man aber auch gleich C programmieren