Design Pattern
1. What is the Singleton Pattern?
The Singleton Design Pattern ensures that:
-
Only one instance of a class exists in the application.
-
There’s a global point of access to that instance.
Think of it like a "VIP pass" – there’s only one copy, and everyone shares it.
2. Why use Singleton?
Typical use cases:
-
Configuration settings (database connections, etc.).
-
Logging services (all parts of the application log through the same logger).
-
Thread pool management.
-
Caching and state management.
The key idea is resource control – you don’t want multiple copies competing.
3. Basic Structure
A typical singleton in C# has:
-
Private constructor → prevents creating objects using
new
. -
Private static field → holds the single instance.
-
Public static property/method → provides access to that instance.