Static Klasse ohne die Member zu definieren?



  • Hi @ all.

    In meinem Projekt (mehrere Klassen / Objekte) brauchen ich in vielen Klassen die gleichen Information. Diese Informationen möchte ich beim Start meines Projektes einmal aus einer Datenbank auslesen und in einer einzigen Klasse speichern.
    Die Informationen sind Arrays mit unterschiedlichen Dimensionen.

    Nun habe ich 2 Ansätze.

    1. Ich lege die Klasse einmal bei Start an und übergebe Referenzen an alle meine anderen Objekte. Diesen Weg möchte ich aber nicht gehen, weil es mir allmählich zu unübersichtlich wird.

    2. Eine static-Klasse, auf die von allen Objekten zugegriffen werden kann. Jedoch müsste ich hier die Membervariablen vorher im Code definieren. Dass möchte ich aber auch nicht, da sich die Daten in der Datenbank ändern könnten.

    Gibts ne bessere Lösung für mein Vorhaben, oder kann mir jemand erklären wie ich die Definition der Member bei 2) umgehen kann?



  • singleton?



  • otze schrieb:

    singleton?

    Ich weiß nicht. Sag du es mir...



  • Wenn ich eine Singleton-Klasse schreibe, in der ich alle Daten nur einmal im Konstruktor einlese, muss ich auch die Methoden und Member als static deklarieren, oder!?
    Und dann muss ich die Member vor der Benutzung der Klasse wieder definieren. Und das will ich ja nicht.



  • DarthZiu schrieb:

    Wenn ich eine Singleton-Klasse schreibe, in der ich alle Daten nur einmal im Konstruktor einlese, muss ich auch die Methoden und Member als static deklarieren, oder!?
    Und dann muss ich die Member vor der Benutzung der Klasse wieder definieren. Und das will ich ja nicht.

    Nein musst du nicht. Du musst nur eine Methode (GetInstance()) static machen und eine Membervariable (Instanz). Such am besten mal bei Google nach "Singleton"



  • Hallo

    Also wenn ich mit Daten arbeite, die immer von mehreren (allen) Klassen benötigt wird, dann arbeite ich auch mit Singletons. Das ist wirklich praktisch.

    chrische




Anmelden zum Antworten