INF.04Programowanie Obiektowe i Paradygmaty (OOP)
Wzorzec Singleton (Singleton Pattern)
Kreacyjny wzorzec projektowy gwarantujący, że klasa ma tylko jedną instancję w całej aplikacji oraz zapewniający do niej globalny punkt dostępu.
Kluczowe cechy implementacji Singletona:
- Prywatny konstruktor (
private Singleton()) – uniemożliwia utworzenie instancji operatoremnewz zewnątrz. - Prywatne statyczne pole przechowujące jedyną instancję.
- Publiczna statyczna metoda / właściwość (np.
GetInstance()lubInstance) zwracająca tę instancję.
CSHARP
public class DatabaseManager {
private static DatabaseManager _instance;
private static readonly object _lock = new object();
private DatabaseManager() { } // Prywatny konstruktor
public static DatabaseManager Instance {
get {
if (_instance == null) {
lock (_lock) {
if (_instance == null) _instance = new DatabaseManager();
}
}
return _instance;
}
}
}Chcesz sprawdzić to pojęcie w praktyce?
Przeszukaj pytania z oficjalnych arkuszy CKE powiązane z hasłem Wzorzec Singleton (Singleton Pattern) lub rozpocznij trening.