Entwurfsmuster · Junior · Frage 4 von 75
Warum nennt man Singleton oft ein Anti-Pattern?
- 1Es bringt versteckten globalen Zustand und erschwert das Testen
- 2Es braucht zu viel Speicher, um Instanzen abzulegen
- 3In JavaScript lässt es sich ohne Klassen nicht umsetzen
Antwort zeigen
Richtige Antwort: Es bringt versteckten globalen Zustand und erschwert das Testen
Erklärung
Code, der direkt auf ein Singleton zugreift, hängt implizit davon ab: Tests beeinflussen sich gegenseitig, und die Implementierung lässt sich schwer tauschen. Ein Kompromiss ist, eine Instanz zu erzeugen, sie aber explizit zu übergeben (Dependency Injection), damit Tests ein Mock einsetzen können.