Rubrik: Verschiedenes / Sonstiges | VB-Versionen: VB.NET | 25.09.06 |
Implementierung eines Singleton Patterns Schneller Zugriff auf Klassenfunktionen via. Singleton Pattern | ||
Autor: Stefan Mähr | Bewertung: | Views: 14.399 |
www.visualsoft-net.de | System: WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Der Sinlgeton Pattern erlaubt einen schnellen Zugriff auf Klassenmember ohne eine eigene Instanzvariable im Code mitschleppen zu müssen. Besonders geeignet ist diese Methode mit einer Objektinstanz zu verfahren wenn man eine Instanz des Objektes Projektweit benötigt.
Die Implementierung gestaltet sich denkbar einfach.
Legen Sie ein neues Projekt an und fügen Sie eine Klasse hinzu, nennen Sie diese cFunction.
In diese Klasse implementieren wir zu Testzwecken eine Funktion, welche eine Addition ausführen wird.
Public Function CalculateSum(ByVal dblValueA As Double, _ ByVal dblValueB As Double) As Double Return dblValueA + dblValueB End Function
Im nächsten Schritt erstellen wir in der Klasse eine Private Shared Variable, welche die Objektinstanz darstellen wird.
Private Shared mMyFunctionClass As cFunction
Um auf diese shared Variable von extern zugreifen zu können, implementieren wir ein Shared Property:
Public Shared ReadOnly Property FunctionInstance() As cFunction Get If mMyFunctionClass Is Nothing Then mMyFunctionClass = New cFunction End If Return mMyFunctionClass End Get End Property
Dieses Property kümmert sich darum, ob bereits eine Instanz der Klasse vorhanden ist. Ist dies nicht der Fall wird eine neue erstellt.
Sie können nun auf die Klassemember von extern folgendermaßen zugreifen, ohne sich jemals wieder um eine explizite Erstellung eines Objektes zu kümmern.
Dim dlbMyErgebnis As Double = _ cFunction.FunctionInstance.CalculateSum(10, 20)
Ein kleines Beispielprojekt können Sie unter www.visualsoft-net.de in der Rubrik VB.NET herunterladen.