![]() |
|
|
|||||||
| Softwareentwicklung Allgemeine Softwareentwicklung - Andere Programmiersprachen, Regex, OOP, Design Patterns |
| Umfrageergebnis anzeigen: Singletons sind.. | |||
| ein Antipattern. Ich benutze sie überhaupt nicht. |
|
8 | 8,89% |
| manchmal ein nützliches Entwurfsmuster. Ich setzte sie hin und wieder ein. |
|
68 | 75,56% |
| total praktisch. Ich verwende sie oft und gerne. |
|
14 | 15,56% |
| Teilnehmer: 90. Sie dürfen bei dieser Umfrage nicht abstimmen | |||
|
|
|
Themen-Optionen | Thema durchsuchen | Ansicht |
| #1 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 19.03.2007
Beiträge: 2.265
Blog-Einträge: 14
Abgegebene Danke: 5
Erhielt 13 Danke für 12 Beiträge
|
Aus aktuellem Anlass mal eine kleine Umfrage zum Thema Singletons.
__________________
Snippets: TableLayout - Nichtrechteckige Fenster - SwingWorker - ReadWriteLock - Database ConnectionPool - Synchronisation mit Locks - EventBus - BlockingQueue - RMI - Scripting mit JRuby - Embedded Derby How-Tos: Remoting mit Spring - Dependency Injection mit Spring FAQs: Exceptions Geändert von tfa (19.03.2009 um 17:37 Uhr) |
|
|
|
| #2 (permalink) | |
|
Java-Forum Team
IRC-Operator (Java-Chat)
Moderator Registriert seit: 17.08.2007
Beiträge: 3.642
Abgegebene Danke: 2
Erhielt 87 Danke für 84 Beiträge
|
Ja ich bekenne mich schuldig, ich benutze sie hin und wieder, wenn sie aus MEINER Sicht Sinn machen.
PS: Jetzt kommen die Anderen wieder, es gibt keine Stellen wo es Sinn macht *gg* |
|
|
|
| #3 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 12.10.2004
Beiträge: 1.584
Abgegebene Danke: 9
Erhielt 19 Danke für 19 Beiträge
|
"Hin und wieder" ist mir persönlich ein bissl wenig, "Oft und gerne" dagegen schon wieder zu viel. Sigleton ist eben ein Designpattern, welches wie seine ganzen Kollegen durchaus eine Existenzberechtigung hat. Z.B. bei der Entwicklung eines "Service", wie gerade aktuell: mein "JoalAudioDevice".
__________________
Kaum macht man's richtig... geht's |
|
|
|
| #4 (permalink) | |
|
Stammbenutzer
Halbes Gigabyte
Registriert seit: 17.06.2005
Beiträge: 5.801
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 21 Danke für 19 Beiträge
|
Wenn ich Klassen habe, die ich zur Laufzeit nur einmal instanziere, dann benutze ich das Singleton Pattern nicht. Dazu sehe ich keine Veranlassung. Wenn ich nur eine Instanz einer Klasse brauche, dann erzeuge ich halt nur eine Instanz der Klasse. Kein Grund, gleich einen privaten Konstruktor einzuführen.
Ich benutze aber manchmal aus Faulheit (genau) ein Singleton (und nicht mehr) in meiner Anwendung. An dieses Singleton hänge ich dann alle Informationen, die innerhalb der gesamten Anwendung global verfügbar sein müssen. Das aber auch nur, wenn kein DI Container zur Verfügung steht... |
|
|
|
| #5 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 07.02.2004
Beiträge: 8.128
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
|
"Überhaupt nicht" wäre dann doch übertrieben, nur halt äusserst selten.
- Wenn mich eine Library dazu zwingt (=weil eine Library zuviele Singletons verwendet, z.B. siehe Java-Swing LookAndFeels. Es ist einfach sinnlos die LookAndFeels nicht in einer globalen Liste zu verwalten). - Oder wenn eine Resource benötigt wird die unveränderlich ist, wie z.B. eine Map aller Icons die das Programm benutzt. Ich würde ein Singleton allerdings niemals benutzen nur weil ein Objekt "realistisch gesehen nur einmal notwendig ist". Faulheit ist keine Ausrede für Singletons. |
|
|
|
| #7 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 12.10.2004
Beiträge: 1.584
Abgegebene Danke: 9
Erhielt 19 Danke für 19 Beiträge
|
Versteh' ich grad' das Pattern nicht? An Singleton stellt sich doch nicht die Frage, ob ich nur eine Instanz einer Klasse brauche, sondern nur die Anforderung, das davon anwendungsweit nur ein Instanz existieren darf. Was hat das mit Faulheit zu tun?
__________________
Kaum macht man's richtig... geht's |
|
|
|
| #8 (permalink) | |
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.879
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Mir fehlt hier eigentlich der Haken "ein Design-Pattern mit Daseinsberechtigung, welches meist falsch und von mir nur selten verwendet wird"
Aus dem Grund hab ich für 2. gestimmt.Nachtrag: Ich schließe mich also Beni an. Und ich dachte schon, ich bin der einzige der das so sieht. *phew* Ebenius
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. Geändert von Ebenius (19.03.2009 um 18:30 Uhr) |
|
|
|
| #9 (permalink) | |
|
Stammbenutzer
Megabyte
Themenstarter
Registriert seit: 19.03.2007
Beiträge: 2.265
Blog-Einträge: 14
Abgegebene Danke: 5
Erhielt 13 Danke für 12 Beiträge
|
Das wollte ich bei Punkt 2 eigentlich auch noch dazu reinschreiben. Aber jede Umfrage-Option darf höchstens 100 Zeichen lang sein.
__________________
Snippets: TableLayout - Nichtrechteckige Fenster - SwingWorker - ReadWriteLock - Database ConnectionPool - Synchronisation mit Locks - EventBus - BlockingQueue - RMI - Scripting mit JRuby - Embedded Derby How-Tos: Remoting mit Spring - Dependency Injection mit Spring FAQs: Exceptions |
|
|
|
| #10 (permalink) | |||||||||||||||||||||||
|
Java-Forum Team
Moderator
Registriert seit: 07.02.2004
Beiträge: 8.128
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
|
(ok, das war etwas böse gesagt. LaF's sind etwas komplizierter, mein Punkt ist trotzdem nicht falsch )
|
||||||||||||||||||||||
|
|
|
||||||||||||||||||||||
| #11 (permalink) | |||||||||||||||||||||||
|
Stammbenutzer
Megabyte
Registriert seit: 12.10.2004
Beiträge: 1.584
Abgegebene Danke: 9
Erhielt 19 Danke für 19 Beiträge
|
__________________
Kaum macht man's richtig... geht's |
||||||||||||||||||||||
|
|
|
||||||||||||||||||||||
| #12 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 12.10.2004
Beiträge: 1.584
Abgegebene Danke: 9
Erhielt 19 Danke für 19 Beiträge
|
Mal was anderes: Gibt's da 'nen Bug im Board?
Situation: -In der Tabelle der Themen wird eine Umfrage als "ungelesen" markiert, auch wenn kein neuer Beitrag existiert. Möglicherweise hat sich also nur das Ergebnis geändert. -Wenn ich mir den Beitrag dann ansehe ist in der Tat das Ergebnis verändert. Auffällig dabei: der Wert für den man selbst gestimmt hat wurde um eins erhöht. -Dann wechselt man wieder in die Tabelle: Umfrage erscheint als "gelesen" -nach einem Aktualisieren der Seite, ist es wieder "ungelesen". So ein Bug würde das Ergebnis extrem verfälschen.
__________________
Kaum macht man's richtig... geht's |
|
|
|
| #13 (permalink) | |
|
Java-Forum Team
Site Operator
Registriert seit: 24.04.2004
Beiträge: 9.685
Abgegebene Danke: 2
Erhielt 32 Danke für 32 Beiträge
|
Kein Bug sondern Zufall, denke ich.
__________________
Schöne Grüße, L-ectron-X Programmieren lernt man nur durch programmieren. www.byte-welt.de - Die Welt des Programmierens |
|
|
|
| #14 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 28.11.2003
Beiträge: 241
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
ich finde zwar nicht, dass singleton ein anti pattern ist, allerdings hab ich es bislang noch nie benötigt. und die fälle, in denen ich bislang singletons gesehen habe, hätten problemlos durch nen haufen statischer methoden ersetzt werden können.
hab nichts gegen das pattern, aber es ist meiner ansicht nach irgendwie überflüssig. |
|
|
|
| #15 (permalink) | |||||||||||||||||||
|
Stammbenutzer
Kilobyte
Registriert seit: 10.06.2008
Beiträge: 520
Abgegebene Danke: 0
Erhielt 0 Danke für 0 Beiträge
|
__________________
Erfahrung heißt gar nichts Man kann seine Sache auch 35 Jahre schlecht machen.(Tucholsky) |
||||||||||||||||||
|
|
|
||||||||||||||||||
| #16 (permalink) | |||||||||||||||||||
|
Java-Forum Team
Moderator
Registriert seit: 07.02.2004
Beiträge: 8.128
Abgegebene Danke: 0
Erhielt 2 Danke für 2 Beiträge
|
Erstens. Dein Argument ist ein "praktisches Argument", meines ein "theoretisches Argument". Je nachdem was für Ziele man hat muss man eines stärker als das andere gewichten. Wenn wir über gutes Softwaredesign sprechen wollen, befinden wir uns auf der Ebene der (grauen?) Theorie. Zweitens. Ich hab auch schon eine Library geschrieben die etwas ähnliches wie LAFs anbietet, aber dort auf das Singleton verzichtet. Was ich davon gelernt habe: es ist möglich, es ist nicht so schwierig wie man vielleicht befürchtet, die Performance geht nicht merklich zurück; es wäre auch für LAFs möglich. [Edit: und langsam benötige ich ein anderes Beispiel, wird etwas einseitig...] |
||||||||||||||||||
|
|
|
||||||||||||||||||
| #17 (permalink) | |
|
Stammbenutzer
Halbes Gigabyte
Registriert seit: 17.06.2005
Beiträge: 5.801
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 21 Danke für 19 Beiträge
|
Das sehe ich anders. OO-Design soll praktische Probleme lösen, z.B. die Wartbarkeit oder Qualität (Testbarkeit) der Software erhöhen. Wenn man keine praktischen Ziele verfolgt, könnte man sich das Thema schenken. Niemand zahlt Geld für die Lösung von Problemen, die bloß in der blanken Theorie existieren aber keinen praktischen Bezug haben.
|
|
|
|
| #18 (permalink) | |||||||||||||||||||
|
Java-Forum Team
Moderator
Registriert seit: 18.11.2003
Beiträge: 4.879
Abgegebene Danke: 5
Erhielt 66 Danke für 64 Beiträge
|
Hab nen Clown gefrühstückt. Schmeckte komisch.
__________________
The main rules of optimization Rule 1: Don't do it. Rule 2: (For experts only) Don't do it yet. |
||||||||||||||||||
|
|
|
||||||||||||||||||
| #19 (permalink) | |
|
Stammbenutzer
Halbes Gigabyte
Registriert seit: 17.06.2005
Beiträge: 5.801
Blog-Einträge: 1
Abgegebene Danke: 7
Erhielt 21 Danke für 19 Beiträge
|
Auch Forschungsprojekte an Unis haben idR einen wirtschaftlichen Hintergrund. Irgendwo müssen die Forschungsgelder ja herkommen. Die Wirtschaftlichkeit wird da nur auf einen größeren Zeitraum angesetzt.
|
|
|
|
| #20 (permalink) | |
|
Stammbenutzer
Megabyte
Themenstarter
Registriert seit: 19.03.2007
Beiträge: 2.265
Blog-Einträge: 14
Abgegebene Danke: 5
Erhielt 13 Danke für 12 Beiträge
|
Was wohl nicht gilt für "Laberfächer" wie Philosophie, Astrophysik, Kosmologie, Altertumsforschung etc.
Sagen wir, niemand zahlt freiwillig Geld für Lösungen von Problemen, die nur in der Theorie existieren. Der Steuerzahler wird's richten.
__________________
Snippets: TableLayout - Nichtrechteckige Fenster - SwingWorker - ReadWriteLock - Database ConnectionPool - Synchronisation mit Locks - EventBus - BlockingQueue - RMI - Scripting mit JRuby - Embedded Derby How-Tos: Remoting mit Spring - Dependency Injection mit Spring FAQs: Exceptions |
|
|
|
|
| Lesezeichen |
Latex Maths & Physics Editor ...
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Singleton - In diesem Fall sinnvoll? | X5-599 | Java Basics - Anfänger Themen | 22 | 16.03.2009 10:54 |
| Singleton Frage: | Allgemeine Java-Themen | 17 | 19.08.2008 15:16 | |
| problem mit singletons | Allgemeine Java-Themen | 14 | 13.09.2007 09:51 | |
| Spring Beans als Singletons | SilentJ | Application Tier | 0 | 17.10.2006 09:53 |
| singleton vs. static | Solour | Allgemeine Java-Themen | 7 | 11.03.2006 10:39 |