SingleTon

Status
Nicht offen für weitere Antworten.

PollerJava

Top Contributor
Hallo,

Mir ist beim Singleton noch nicht ganz klar, wann ich diesen einsetzen kann,

Ich habe z.B. eine Klasse in der eine Methode (Objektmethoden) vorhanden ist, welche mir den CRC einer gewissen bitfolge berechnet,

Ich benötige in 3 anderen Klassen die Berechnung des CRCs,
Meine Frage wäre jetzt, ob ich eben ein Objekt erstellen soll und mir in jeder Klasse, in der ich dei CRC- Berechnung benötige, eine Instanz auf dieses Objekt holen soll oder ob ich 3 Objekte in jeder Klasse, wo ich die CRC- Berechnung benötige, erstelle?


Vielen Dank für die Antworten,
lg
 

Murray

Top Contributor
Wenn diese Methode keine Bezug zum Zustand des Objekts hat (der CRC ist vermutlich nur von der Bitfolge abhängig, die übergeben wird), dann sollte die Methode wohl static sein. In diesem Fall stellt sich die Frage nach dem Singleton nicht.

Gibt es aber eine Abhängigkeit vom Zustand des Objektes, stellt sich die Frage, ob die drei Klassen dann wirklich alle mit dem gleichen Zustand arbeiten wollen. Wenn ja, könntest du ein einzelnes Objekt verwenden; wenn nicht, dann braucht wohl jede Klasse ein eigenes Objekt.
 

byte

Top Contributor
Man sollte Singletons nicht zu sehr mißbrauchen. Der eigentliche Sinn des Singletons liegt darin sicherzustellen, dass es von einer Klasse immer nur genau ein Objekt gibt. Dass man auf dieses Objekt dann auch noch von überall zugreifen kann ohne eine Referenz übergeben zu müssen, ist eher ein Nebeneffekt.

Die von Dir beschriebene Methode klingt eher nach ner Utility-Funktion, die man in eine Klasse ...Util legen und direkt statisch machen kann.
 
S

SlaterB

Gast
und noch ein spätes drittes Mal:

wichtig dafür ist z.B. ob die 3 Verwender in dem einzelnen CRC-Objekt Änderungen vornehmen, die auch die anderen Verwender betreffen,

das scheint nicht der Fall zu sein, also spricht nicht wirklich etwas gegen mehrere Objekte, auch nichts gehen neue Objekte pro Anwendung in einer der 3 Klassen,

erst wenn es ganz viele werden, > 10 pro Sekunde, dann kann man dazu übergehen, einmal erzeugte Hilfsobjekte länger zu speichern,
aber selbst dann ruhig eines pro verwendende Klasse,
ein Singleton hat nicht unbedingt Nachteile, aber auch keine wesentlichen Vorteile

bei zustandslosen Berechnungen könnten die Operationen vielleicht sogar statisch sein, ganhz ohne CRC-Objekt


falls du ein Singleton verwendest und ein CRC-Objekt mit internen Zustand während einer Berechnung,
dann musst du bei mehreren nebenläufigen Threads höllisch aufpassen,
in einem solchen Fall wären einzelne Objekte pro Thread sehr zu empfehlen
 

PollerJava

Top Contributor
vielen Dank,

Ja, wahrscheinlich wäre es die beste Lösung, die Methode static zu machen, es wird nichts am Objekt geändert sondern nur übergeben und rückgegeben bei der Methode,
ich hab jetzt mal ein Singelton gemacht,

Was mir jetzt noch durch den Kopf geht ist, wenn eine Klasse die Methode aufgerufen hat und dann eine zweite Klasse die Methode zur gleichen Zeit aufruft, was dann passiert.

synchronized will ich die Methode ja nicht unbedingt deklarieren, da die Methode sehr oft aufgerufen wird (bei jeder übertragung) und mich das einen Faktor 100 kostet.
 

byte

Top Contributor
Wenn die Methode nicht auf irgendwelche Objektvariablen (also Shared Resources) zugreift, sondern lediglich funktionale Berechnungen durchführt, dann musst Du da auch nichts synchronisieren.
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
EinNickname9 Best Practice Singleton und Singleton mit Instanz zu anderer Klasse -Pattern Allgemeine Java-Themen 30
Neoline Klassen Singleton Klasse buchmanager Allgemeine Java-Themen 19
J Singleton Allgemeine Java-Themen 5
Z deserialize singleton Allgemeine Java-Themen 9
A Singleton threadsafe Allgemeine Java-Themen 8
S Singleton Instanz löschen Allgemeine Java-Themen 5
A Datei als Object einlesen und das Object als Singleton instance setzen. Allgemeine Java-Themen 13
T ActionListener und Singleton Allgemeine Java-Themen 15
S Singleton Entwurfsmuster Allgemeine Java-Themen 20
T So eine Art Singleton-Factory? Allgemeine Java-Themen 3
S Singleton-Klasse und ThreadLocal-Klasse von abstrakter Klasse ableiten? Allgemeine Java-Themen 2
S Singleton hier sinnvol? Allgemeine Java-Themen 20
T Zugriff auf Singleton verkürzen - Namespaces?? Allgemeine Java-Themen 20
B Volatile Frage: Reicht es nur den Singleton als volatile zu deklarieren? Allgemeine Java-Themen 4
Iron Monkey Singleton mit Parameter Allgemeine Java-Themen 14
G Singleton Frage: Allgemeine Java-Themen 17
M Singleton und Vererbung? Allgemeine Java-Themen 45
R Wo initilisiere ich eine Liste in einem Singleton? Allgemeine Java-Themen 2
M Java Garbage Collector Frage (Singleton Pattern) Allgemeine Java-Themen 13
B Generisches Singleton implementieren Allgemeine Java-Themen 12
H Singleton und MultiThreading [erledigt] Allgemeine Java-Themen 3
S Singleton Pattern mit Generics Allgemeine Java-Themen 4
M zwei Threads - ein singleton-Objekt Allgemeine Java-Themen 3
RaoulDuke Agent als Singleton Thread Allgemeine Java-Themen 7
S singleton vs. static Allgemeine Java-Themen 7
P Singleton vs static Allgemeine Java-Themen 19
K Singleton vererben Allgemeine Java-Themen 15
E Singleton vererben Allgemeine Java-Themen 10
E Frage zu Singleton Allgemeine Java-Themen 22
D Design Pattern: Singleton Allgemeine Java-Themen 4
K Sequenzdiagramm für Singleton-Muster Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben