Singleton
The Singleton Design Pattern ensures that only a single instance of a given object can exist.
It does this by making the class constructor private so that it [the singleton itself] has full control over when the class instance is created. In order to gain access to an instance of a class that implements the Singleton pattern, the developer must call a shared/static method of that Singleton class.
A VB example of a Singleton
Public Class SingletonSample
'shared members
Private Shared _instance As New SingletonSample
Public Shared Function Instance() As SingletonSample
Return _instance
End Function
'instance members
Private Sub New()
'public instantiation disallowed
End Sub
'other instance members
'...
End Class
A C# example of a Singleton
public class SingletonSample
{
//shared members
private static SingletonSample _instance = new SingletonSample();
public static SingletonSample Instance()
{
return _instance;
}
//instance members
private SingletonSample()
{
//public instantiation disallowed
}
//other instance members
//...
}
With the Singleton Design Pattern in place, the developer can easily access that single object instance without needing to worry about inadvertently creating multiple instances, and provides a global point of access to it.
VB - Dim mySingleton As SingletonSample = SingletonSample.Instance
C# - SingletonSample mySingleton = SingletonSample.Instance();
The ASP.NET Wiki was started by Scott Hanselman in February of 2008. The idea is that folks spend a lot of time trolling the blogs, googlinglive-searching for answers to common "How To" questions. There's piles of fantastic community-created and MSFT-created content out there, but if it's not found by a search engine and the right combination of keywords, it's often lost.
The ASP.NET Wiki articles moved to CodeProject in October 2013 and will live on, loved, protected and updated by the community.