![]() |
|
|
|||||||
| Softwareentwicklung Allgemeine Softwareentwicklung - Andere Programmiersprachen, Regex, OOP, Design Patterns |
| Umfrageergebnis anzeigen: Singletons sind.. | |||
| ein Antipattern. Ich benutze sie überhaupt nicht. |
|
8 | 8,33% |
| manchmal ein nützliches Entwurfsmuster. Ich setzte sie hin und wieder ein. |
|
74 | 77,08% |
| total praktisch. Ich verwende sie oft und gerne. |
|
14 | 14,58% |
| Teilnehmer: 96. 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.046
Blog-Einträge: 14
Abgegebene Danke: 6
Erhielt 16 Danke für 15 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: 4.172
Abgegebene Danke: 4
Erhielt 173 Danke für 167 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.523
Abgegebene Danke: 9
Erhielt 17 Danke für 17 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
Viertel Gigabyte
Registriert seit: 17.06.2005
Beiträge: 4.594
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: 7.644
Abgegebene Danke: 0
Erhielt 14 Danke für 11 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.523
Abgegebene Danke: 9
Erhielt 17 Danke für 17 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.653
Abgegebene Danke: 9
Erhielt 133 Danke für 129 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 first rule of program optimization: don't do it. The second rule of program optimization (for experts only!): don't do it yet. [Michael Anthony Jackson] Geändert von Ebenius (19.03.2009 um 18:30 Uhr) |
|
|
|
| #9 (permalink) | |
|
Stammbenutzer
Megabyte
Themenstarter
Registriert seit: 19.03.2007
Beiträge: 2.046
Blog-Einträge: 14
Abgegebene Danke: 6
Erhielt 16 Danke für 15 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: 7.644
Abgegebene Danke: 0
Erhielt 14 Danke für 11 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.523
Abgegebene Danke: 9
Erhielt 17 Danke für 17 Beiträge
|
__________________
Kaum macht man's richtig... geht's |
||||||||||||||||||||||
|
|
|
||||||||||||||||||||||
| #12 (permalink) | |
|
Stammbenutzer
Megabyte
Registriert seit: 12.10.2004
Beiträge: 1.523
Abgegebene Danke: 9
Erhielt 17 Danke für 17 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.304
Abgegebene Danke: 5
Erhielt 94 Danke für 94 Beiträge
|
Kein Bug sondern Zufall, denke ich.
__________________
Schöne Grüße, L-ectron-X Programmieren lernt man nur durch programmieren. www.java-forum.org - Java programmieren aus Leidenschaft www.byte-welt.de - Die Welt des Programmierens "Wenn man die Buchstaben von Bundeskanzlerin umstellt, kommt Bankzinsenluder raus..." |
|
|
|
| #14 (permalink) | |
|
Stammbenutzer
Kilobyte
Registriert seit: 28.11.2003
Beiträge: 240
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: 374
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: 7.644
Abgegebene Danke: 0
Erhielt 14 Danke für 11 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
Viertel Gigabyte
Registriert seit: 17.06.2005
Beiträge: 4.594
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.653
Abgegebene Danke: 9
Erhielt 133 Danke für 129 Beiträge
|
Hab nen Clown gefrühstückt. Schmeckte komisch.
__________________
The first rule of program optimization: don't do it. The second rule of program optimization (for experts only!): don't do it yet. [Michael Anthony Jackson] |
||||||||||||||||||
|
|
|
||||||||||||||||||
| #19 (permalink) | |
|
Stammbenutzer
Viertel Gigabyte
Registriert seit: 17.06.2005
Beiträge: 4.594
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.046
Blog-Einträge: 14
Abgegebene Danke: 6
Erhielt 16 Danke für 15 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 |