1. Dashboard
  2. Forum
    1. Unerledigte Themen
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team-Mitglieder
    4. Trophäen
    5. Mitgliedersuche
  4. Tutorial Bereich
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Seiten
  • Forum
  • Lexikon
  • Erweiterte Suche
  1. Informatik Forum
  2. Webmaster & Internet
  3. Entwicklung

"private" Singleton?

  • maciek
  • 7. Februar 2006 um 10:46
  • Unerledigt
  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 7. Februar 2006 um 10:46
    • #1

    Hallo Zusammen!

    Die Fragestellung mag jetzt vielleicht blöd klingen, aber ich weiss nicht so genau, wie ich es formulieren soll: Wie kann ich einen "privaten" Singleton machen? Was ich machen kann ist:

    -) "normale Klasse": Für jeden Benutzer, bei jedem Aufruf verschieden.
    -) Singleton: Für jeden Benutzer, bei jedem Aufruf gleich.
    -) "private Singleton": Für EINEN Benutzer, bei jedem Aufruf gleich. Pro Benutzer verschieden.

    Ich hoffe, ich hab das halbwegs verständlich ausgedrückt.

    Thanx 4 help.

    *** Make it idiot proof, and someone will build a better idiot. ***

  • MichiK
    9
    MichiK
    Mitglied
    Reaktionen
    1
    Punkte
    786
    Beiträge
    153
    • 7. Februar 2006 um 23:25
    • #2

    letzteres würde ich mittels einer Map lösen, wobei als Key der Benutzer dient, als Value die Instanz. Wenn noch keine Instanz existiert, wird eine neue erzeugt, andernfalls jene aus der Map zurückgeliefert.

    Informatik @ TU Wien (1998 - 2005)

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 7. Februar 2006 um 23:47
    • #3

    so was Ähnliches hab ich mir gebastelt ... aber: Gibt es in Java keine "vordefinierte" Struktur, mit der man das lösen kann?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • a9bejo
    21
    a9bejo
    Mitglied
    Reaktionen
    42
    Punkte
    4.697
    Beiträge
    913
    • 8. Februar 2006 um 09:30
    • #4
    Zitat von maciek

    so was Ähnliches hab ich mir gebastelt ... aber: Gibt es in Java keine "vordefinierte" Struktur, mit der man das lösen kann?

    Was ist denn fuer dich ein Benutzer? Der Kontext vom Client Code, der das Singleton benutzt? Wohl nicht, denn dann waehre ja dein private singleton == normale instanz einer klasse. :)

    Andererseits gibt es ja keine "Benutzer" auf ebene der programmiersprache, also kann es auch keine datenstruktur dafuer geben.

    bitte aufklaehren.

    lg, Benjamin Ferrari, bookworm.at

  • Fup
    12
    Fup
    Mitglied
    Punkte
    1.460
    Beiträge
    291
    • 8. Februar 2006 um 20:00
    • #5

    Wozu soll das gut sein?

    mfG Fup

  • maciek
    16
    maciek
    Mitglied
    Punkte
    2.805
    Beiträge
    434
    • 8. Februar 2006 um 22:14
    • #6

    naja ... ich hab irgendwie das Problem, dass ich zwar Sachen in einer Session speichern kann, nur komm ich ohne den Request nicht ran. Den Request hab ich wiederum nur in Servlets. Es ist aber nicht unbedingt jede Klasse, die userspezifische Daten braucht ein Servlet. Damit müsste ich die Servlet-Infos immer weiterreichen ... ist für mich nicht die optimalste Lösung.

    Irgendwo hab ich auch gelesen, dass man threadspezifische in einer Variablen speichern kann. Nachdem ja das Servlet das ursprünglich eine Kette von Klassen aufruft, auch ein Thread ist ... könnte man so vielleicht was drehen?

    Im Prinzip geht's auch darum, dass ich innerhalb eines Requests eine Variable setzen kann, die für diesen Request (= Thread = Benutzer) immer den gleichen Wert hat.

    Das könnte ich z.B. dazu nutzen: Ich hab einen Errorhandler, der nach auftreten eines Fehlers verschiedene Aktivitäten durchführt. Beim Ausführen dieser Aktivitäten tritt wieder ein Fehler auf, der vom gleichen ErrorHandler behandelt werden würde ... -> infinite Loop. Wenn ich aber im Thread speichern kann, wie oft die Errorhandler-Klasse von dem aktuellen User aufgerufen wurde ...

    Hilft das zu verstehen worauf ich hinaus möchte? Vielleicht ist das Denken auch ziemlich PHP-entwicklungstechnisch vorbelastet ... ich bin für Vorschläge offen.

    By the way: Das Exceptionhandling hab ich nach dieser Methode gelöst. Was haltet Ihr davon?

    *** Make it idiot proof, and someone will build a better idiot. ***

  • Maximilian Rupp 27. Dezember 2024 um 12:06

    Hat das Thema aus dem Forum Programmieren nach Entwicklung verschoben.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!

Benutzerkonto erstellen Anmelden

Rechtliches

Impressum

Datenschutzerklärung