Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Klassenprogrammierung: Singleton-Klasse
zurück: Klassenprogrammierung: Konstruktor überladen weiter: Combobox in Listbox Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Tutorial Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Isabelle :-)
Menschin


Verfasst am:
12. Sep 2013, 22:08
Rufname:
Wohnort: Westlicher Spiralarm der Galaxis


Klassenprogrammierung: Singleton-Klasse - Klassenprogrammierung: Singleton-Klasse

Nach oben
       Version: Office 2k (2000)

Hallöchen,

was eine Singleton-Klasse ist fragst du? Übersetzt bedeutet Singleton Einzelexemplar/ Einzelstück.

Das ist eine Klasse von der es nur eine einzige Instanz gibt. Nun gut, wir könnten von einer Klasse genau eine einzige Instanz anlegen. Wozu soll also diese Klasse gut sein?

Stell dir vor, du greifst über eine Schnittstelle (Implements siehe: http://www.office-loesung.de/ftopic253106_0_0_asc.php ) auf verschiedene Datenbanken (SQL-Server, ORACLE, ACCESS) zu und willst diese Zugriffe protokollieren. Du könntest nun eine öffentliche Klassenvariable anlegen, die Logbuchklasse instanziieren und diese Instanz den einzelnen Instanzen der DB-Klasse mitgeben. Aber wozu, wenn das Ganze auch automatisch laufen kann und die DB-Klassen sich selbst darum kümmern. Und warum nur eine Instanz der Klasse? Na weil mehr nicht notwendig sind, es kann ja immer nur eine DB-Klasse einen Logbucheintrag schreiben.

Soweit zur Theorie, nun zur Praxis.

Damit wir nur eine Instanz der Klasse erzeugen müssen wir uns über eine Funktion die Klasse holen. Da die Funktion aber nicht als Klasse selbst deklariert werden kann benötigen wir eine Schnittstelle. Und weil wir in der Funktion die Klasse selbst nicht instanziieren wollen, sonst erzeugt ja jede Datenbankklasse wieder eine eigene Instanz der Protokollklasse, müssen wir wie hier beschrieben:

http://www.office-loesung.de/ftopic618585_0_0_asc.php

die VB_PredeclaredId - Eigenschaft ändern. Wie das geht ist unter dem Link ausreichend beschrieben.

Ich habe eine Mustermappe erstellt die den Datenbankzugriff nur simuliert, damit das Ganze nicht unübersichtlich wird.


Ein Dank geht das Mitglied Trägheit durch den dieser Beitrag, basieren auf seine Antwort hier:

http://www.office-loesung.de/ftopic618383_0_0_asc.php

inspiriert wurde. In dem Thread findest du auch einfache Beispiele für diese Art von Klasse.

_________________
LG Isi

Die Mitgliedschaft im Forum erhöht deine Chance auf eine Antwort von mir um 99,999%



Singleton-Klasse.xls
 Beschreibung:

Download
 Dateiname:  Singleton-Klasse.xls
 Dateigröße:  72.5 KB
 Heruntergeladen:  39 mal

Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Excel Tipps