Können wir nur ein Einzelnes Objekt für eine Klasse
Ist es möglich, nur eine einzige Objekt der Klasse?. Wie man das in Java?
- Erweitern Sie Ihre Frage bitte, was zum Beispiel Sprache, werden Sie Fragen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die folgende Klassendefinition ist ein Singleton-Muster:
Die einzige Möglichkeit zum abrufen einer Instanz der
Singleton
- Objekt für diese Klasse ist der Aufruf dergetInstance()
Methode, die gewährleistet, dass es immer eine Instanz derSingleton
Objekt.Als die anderen Antworten vorschlagen, die Singleton-Muster kann guide Sie Ihre Implementierung, so dass Sie erstellen nur eine einzige Instanz einer Klasse ... oder auch nicht.
Wahrheit ist, viele Faktoren kommen ins Spiel, insbesondere wenn Sie unter einer kontrollierten Umgebung, wie einem application-server über eine virtuelle Java-Maschine. In diesem Fall, es können mehrere Server in einem cluster, jeder server starten können mehrere JVMs, und jeder kann beginnen, mehreren classloadern, jeder von Ihnen ein verschiedenen Instanz des "singleton" - Klasse. Also, es gibt keine Möglichkeit zu garantieren, dass eine einzelne Instanz des Objekts vorhanden ist, für eine gegebene Klasse!
Neben, viele Leute denken, dass singletons sind böse, und Sie sollten sorgfältig prüfen, ob Sie wirklich brauchen, um zu verwenden, und ob die Umgebung es zulassen.
Der einfachste Weg, dies zu tun ist die Verwendung einer enum -
Die Klasse lazy geladen und thread-safe.
Sollten Sie sich die Singleton-Muster
Wenn Sie details über die Sprache, Es wäre einfach ein Beispiel geben.
Hängt. In der Regel erstellen nur ein Objekt einer Klasse riecht Singleton-Muster.
Entweder haben Sie nicht keine Objekte erstellen und verwenden nur die Klassen-Variablen und Methoden, oder verwenden Sie einen proxy-Methode.
Etwas wie:
Anstelle von aufrufen von new Objekt() in client-side code, den Sie nur aufrufen, getIntstance();
getInstance()
.Wenn Sie Fragen, wie Sie implementiert das Singleton-Muster, kurzem stieß ich auf einen hervorragenden Artikel, Implementing Singleton in C#, die gibt code-Beispiele und deckt einige mögliche Probleme.