Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

11

09.01.2008, 13:35

Zitat von »"Databyte"«

Zitat von »"David_pb"«

Das Problem ist dennoch das selbe wie bei globalen Variablen. Die Abhängigkeit von deinem Singleton ist nämlich im Code versteckt und nicht gleich ersichtlich. Willst du wissen wie die Abhängigkeiten zwischen deinem Objekten und der Singletoninstanz sind musst du dich durch den kompletten Code wühlen... Das ist schlecht und definitiv kein Vorteil im Programmdesign!


Nich wenn du Intellisense hast ;)


Das eine hat mit dem anderen doch überhaupt nichts zu tun... :roll:
@D13_Dreinig

12

09.01.2008, 17:47

Mh, also brauch ich die Singletons so für den Anfang nicht wirklich?
Später sollte man sie natürlich beherschen, das ist mir klar.

Ich mach jetzt erst mal noch die Logfiles durch. Vlt. wird es da füt mich ersichtlichert.
Danke mal für die Antworten :)

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

13

09.01.2008, 17:55

am anfang und bei kleinen projekten wirst du singletons nicht brauchen. theoretisch lässt sich das wirklich alles ersetzen, aber mit asingletons ist das einfach praktischer. und wegen den genannten nicht sichtbaren zugriffen, da sollten die klassen eigentlich gebaut sein, dass die zugriffe stimmen^^

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

14

09.01.2008, 19:19

Zitat von »"TrommlBomml"«

am anfang und bei kleinen projekten wirst du singletons nicht brauchen. theoretisch lässt sich das wirklich alles ersetzen, aber mit asingletons ist das einfach praktischer. und wegen den genannten nicht sichtbaren zugriffen, da sollten die klassen eigentlich gebaut sein, dass die zugriffe stimmen^^


Gerade wenn man mehr Erfahrung im Softwaredesign bekommt sollte man vom Gebrauch von Singletons absehen! Der oben genannte Grund ist ja nur einer von mehreren Gründen, wieso Singletons eher auf ein schlechtes Softwaredesign schließen lassen und wieso man auf das Pattern verzichten sollte.
@D13_Dreinig

TrommlBomml

Community-Fossil

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

15

09.01.2008, 19:52

jo du wirst es sicherlich wissen, da du ja in sowas arbeitest (ich auch bald, vielleicht mach ich auch die erfahrung :D). wie macht man das denn sonst? echt über globale vars oda passt das dann einfach vom klassengeflecht? würde mich mal interessieren^^

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

16

09.01.2008, 20:04

Das ist stark abhängig von der jeweiligen Situation, würde ich meinen! :)
@D13_Dreinig

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

17

10.01.2008, 12:27

ja ich auch.

bei Sachen wie zB. einer zentralen Datenbankklasse(/verbindung) oder dem Programmfenster finde ich ein Singleton sehr viel eleganter als das endlose rumreichen von pointern oder referenzen...

ChrisJ

Alter Hase

Beiträge: 487

Wohnort: Schweich

Beruf: Schüler

  • Private Nachricht senden

18

10.01.2008, 16:59

du suchst anscheinend immer noch gründe, doch singletons zu benutzen. du solltest aber versuchen sie zu vermeiden.
bei durchdachtem design, wirst du sie ohnehin nicht brauchen. genauso wenig wie globale variablen.
"Don't trust your eyes: They are a hell of a lot smarter than you are"

19

10.01.2008, 21:15

Mh, OK. Dann seh ich mal darüber weg, dass ich das Thema noch nicht so verstanden habe :p

20

31.01.2011, 20:13

Sry das ich diesen alten Thread ausgrabe aber mann mus ja nicht immer einen neuen Thread aufmachen ;)

Ich bin jetzt auch gerade bei den Singletons angekommen und glaube das ich sie auch verstanden habe ABER eins versteh ich noch nicht ganz...
Eigentlich sind Sigletons und global definierte Instanzen doch genau das gleiche, oder? Ich meine auf von Singletons abgeleitete Klassen ist das zugreifen zwar etwas komplizierter (z.B.

C-/C++-Quelltext

1
CLogfile::Get () -> m_iXXX
aber man kann ja auch überall drauf zugreifen... Meine Lösung währe: Man definiert eine Instanz der Klasse z.B CLogfile in der main funktion und übergibt diese dann per Zeiger an alle Funktionen in der man sie braucht... Is zwar etwas mehr Arbeit aber halt sicherer, oder?

Thx schon mal für eure Antworten!

LG bennichamp :)

Werbeanzeige