Singleton
Das Singleton-Pattern gewährleistet, dass von einer Klasse nur genau eine Instanz existiert.
Es stellt einen globalen Zugriffspunkt auf diese einzige Instanz bereit.
Important
Singleton-Eigenschaften:
- Nur eine Instanz der Klasse
- Globaler Zugriffspunkt
- Lazy Initialization (auf Anfrage erstellen)
- Thread-Safety beachten
Example
public class DatabaseConnection {
private static DatabaseConnection instance;
// Private Konstruktor verhindert direkte Instanziierung
private DatabaseConnection() {}
// Thread-safe Singleton
public static synchronized DatabaseConnection getInstance() {
if (instance == null) {
instance = new DatabaseConnection();
}
return instance;
}
}
// Verwendung
DatabaseConnection db = DatabaseConnection.getInstance();
Warning
Kann zu tight coupling führen und Testing erschweren.