PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Java: Nur ein Objekt erlaubt!


AtTheDriveIn
2008-10-15, 20:45:47
Hi

Es ist schon etwas her das ich JAVA programmiert habe, deswegen brauch ich einen Tipp. Wie kann ich sicherstellen das nur ein Objekt einer Klasse erzeugt wird?


Einfache Idee: eine static Variable a, die im Konstruktor hochgezählt wird. Jetzt versuche ich gerade eine static methode zu erstellen, die in Abhängigkeit von a den Konstruktor aufruft oder eben das vorhandene Objekt zurückliefert. Nur wie liefere ich das Objekt aus seiner eigenen Klasse zurück?

danke! :)

Coda
2008-10-15, 20:47:05
http://www.theserverside.de/singleton-pattern-in-java/

AtTheDriveIn
2008-10-15, 20:56:25
http://www.theserverside.de/singleton-pattern-in-java/

wunderbar!

PH4Real
2008-10-15, 23:40:12
Und gleich danach http://code.google.com/p/google-singleton-detector/ anwerfen, um die Singletons wieder zu eliminieren.

Siehe auch: http://code.google.com/p/google-singleton-detector/wiki/WhySingletonsAreControversial

AtTheDriveIn
2008-10-16, 09:44:26
Aha, gibt es noch eine andere Möglichkeit das zu implementieren was ich will?

Coda
2008-10-16, 10:19:59
Nein, aber man sollte es eigentlich tunlichst vermeiden.

robobimbo
2008-10-16, 17:45:13
Singeltons hemmen die Skalierbarkeit einer Applikation, viele Programmierer verwenden Singletons einfach als einen Ersatz für Globale Variablen unter dem Deckmantel der Objektorientierten Programmierung.

Monger
2008-10-20, 23:11:56
Ein Singleton Pattern lässt sich auf verschiedene Weise implementieren. Eine ziemlich klevere Idee ist, ein Enum mit nur einem einzigen Eintrag zu bauen.

Enums sind von Natur aus im Grunde Singletons, und in Java darüber hinaus noch vollwertige Objekte.

Aber im Endeffekt schon richtig: Das Singleton Pattern kommt zwar in wirklich jedem Pattern-Handbuch vor, ist aber überbewertet. Gibt wichtigeres auf der Welt.