Autor Beitrag
Raorkon
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 86
Erhaltene Danke: 1



BeitragVerfasst: So 26.07.09 11:06 
Hallo zusammen,

ich habe ein Programm das eine große Menge Daten verarbeitet. Es kommen im Schnitt 20 Datensätze auf einmal und durch den ersten Datensatz wird die Verarbeitung angestoßen. Diese Daten unterscheiden sich durch ein bestimmtes Flag. um die Daten richtig in der Datenbank zu speichern und an einen Webservice weiterzuleiten, werden diese Daten von meinen Programm aufbereitet. Anhand des Flags erkenne ich welche Aufbereitung ich wählen muss, dazu gibt es eine XML-Datei die mir für diese Verarbeitung eine Konfiguration vorgibt. Diese Configdatei bzw. deren Inhalt ist nicht besonders groß. Nun habe ich mir gedacht diese Configdatei in eine globale List zu laden um nicht bei jedem Datensatz diese Datei lesen zu müssen. Ich könnte natürlich diese Daten an die verarbeitenden Klassen übergeben aber gibt es auch eine Möglichkeit diese List<> global zu erstellen. Ich dachte ich könnte das mit dem singleton-Pattern realisieren. Allerdings komme ich hier überhaupt nicht vorwährts.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 26.07.09 14:59 
Singleton wird zwar zurecht als Anti-Pattern bezeichnet (beißt sich beispielsweise ein wenig mit Unit Tests), aber wenn es unbedingt sein muss: Am schnellsten machst du eine Instanz global verfügbar, indem du sie in einem static-Feld speicherst.

_________________
>λ=
JasonDelife
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 81

Windows 7 Professional
C# (Visual Studio 2008 Professional), Java (NetBeans IDE 6.7)
BeitragVerfasst: So 26.07.09 15:08 
Static und Singleton ist doch nicht das gleiche, oder doch?

Grüße, JasonDelife.
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: So 26.07.09 15:31 
Ohne Ersteres wird Letzteres jedenfalls schwer ;) .
Der Unterschied besteht darin, dass du bei echten Singletons exakt eine Instanz hast und bei statischen Klassen überhaupt keine. Wenn du das Singleton serialisieren oder ein Interface implementieren lassen willst, nimm das echte Pattern, aber sonst :nixweiss: ...

_________________
>λ=