shutdown
Erfahrenes Mitglied
Singletons sollten wenn möglich weitesgehend vermieden werden, da man an eine konkrete Klasse gebunden ist und man keine Interfaces benutzen kann. (Sowas sorgt fuer schlechte Testbarkeit, Erweiterbarkeit etcpp.)
Wieso sollte man von Singleton-Klassen keine Interfaces erstellen können
Java:
public interface DatabaseSingleton {
public static DatabaseSingleton getInstance();
public ResultSet getData();
}
public class RealDatabaseSingleton implements DatabaseSingleton {
// was man halt so braucht
public static DatabaseSingleton getInstance() {
return (DatabaseSingleton) realDatabaseSingletonObject;
}
public ResultSet getData() {
return RealDatabaseSingletonObject.getQueryResult();
}
}
public class TestDatabaseSingleton implements DatabaseSingleton {
// was man halt so braucht
public static DatabaseSingleton getInstance() {
return (DatabaseSingleton) testDatabaseSingletonObject;
}
public ResultSet getData() {
return deserializedTestObject();
}
}