mschlegel
Erfahrenes Mitglied
Servus
Ich befasse mir gerade mit dem Buch "Head First - Design Patterns" und unter anderem wird da auch das Singelton Pattern erklärt. Jetzt denk wahrscheinlich die Hälfte "dieses einfache Pattern, was soll man da schon fragen"
Das dachte ich auch, aber (jetzt kommts) gegen Ende des (zugegeben kurzen) Kapitels wird erwähnt dass es ein Problem geben kann wenn mehrere ClassLoader eingesetzt werden. Da hilft es auch nicht die Initialisierung statisch zu erledigen, die getInstance() als synchronized zu markieren, oder die statische Variable volatile zu markieren.
Erstellt man nun aber, so wie ich, eine Eclipse RCP so hat jedes Plugin seinen eigenen ClassLoader.
Wie sollte man jetzt mit einem Singleton umgehen? Natürlich gibts die BuddyPolicy, aber einfach alles als Buddy zu definieren halte ich auch für ziemlichen Quatsch. Im Buch wird erwähnt direkt einen spezifischen ClassLoader für die Singletons anzugeben...aber wie könnte man das in einer RCP umsetzen?
Is jetzt keine dringende Frage...meine Anwendung läuft auch so. Es interessiert mich einfach mal.
Danke
Ich befasse mir gerade mit dem Buch "Head First - Design Patterns" und unter anderem wird da auch das Singelton Pattern erklärt. Jetzt denk wahrscheinlich die Hälfte "dieses einfache Pattern, was soll man da schon fragen"
Das dachte ich auch, aber (jetzt kommts) gegen Ende des (zugegeben kurzen) Kapitels wird erwähnt dass es ein Problem geben kann wenn mehrere ClassLoader eingesetzt werden. Da hilft es auch nicht die Initialisierung statisch zu erledigen, die getInstance() als synchronized zu markieren, oder die statische Variable volatile zu markieren.
Erstellt man nun aber, so wie ich, eine Eclipse RCP so hat jedes Plugin seinen eigenen ClassLoader.
Wie sollte man jetzt mit einem Singleton umgehen? Natürlich gibts die BuddyPolicy, aber einfach alles als Buddy zu definieren halte ich auch für ziemlichen Quatsch. Im Buch wird erwähnt direkt einen spezifischen ClassLoader für die Singletons anzugeben...aber wie könnte man das in einer RCP umsetzen?
Is jetzt keine dringende Frage...meine Anwendung läuft auch so. Es interessiert mich einfach mal.
Danke