Forum: PC-Programmierung globale Objekte


von Maxim (maxim) Benutzerseite


Lesenswert?

Ich benutze eine Bibliothek, die auf Grafikkarten rechnet. Diese stellt 
eine Warteschlagne zur Verfuegung, in welche die Rechenjobs eingereiht 
werden. Mein Programm besteht aus mehreren Klassen, welche bestimmte 
Jobs an die Grafikkarten senden muessen. D.h. ich muss die Warteschlange 
global fuer alle Objekte verfuegbar machen. Wie geht man hier vor? 
Bisher uebergebe ich jedem Konstruktor eine Referenz auf die 
Warteschlange, so dass diese im jeweiligen Objekt hinterlegt wird. 
Allerdings war das eine spontane Loesung. Ich weiss nicht, ob das zu 
irgendwelchen (in Hinsicht auf die Klassenstruktur konzeptuellen) 
Problemen fuehren koennte.

von Markus B. (markusborti)


Lesenswert?

Ich würde über das "singleton" Entwurfsmuster gehen.

Java
1
class TEST
2
{
3
    private static TEST obj = new TEST();
4
    private TEST(){}
5
    public static TEST GetInstance()
6
    {return obj;}
7
}

Aufgerufen wird es mit:
1
TEST testobjekt = TEST.GetInstance()

Diese Implementierung ist sogar threadsafe.

Für andere Implementierungen kannst du auch auf Wikipedia schauen oder 
google bemühen.

Schöne Grüße

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.