Top-Fragen
Zeitleiste
Chat
Kontext
Service-Locator
Ein Softwaremuster mit dem das Laden von Objekten, mittels eines zentalen Registrierungs-Objekts, zur Laufzeit gesteuert werden kann. Aus Wikipedia, der freien Enzyklopädie
Remove ads
Ein Service-Locator (englisch service locator) oder Resource-Locator (englisch resource locator) ist ein von Martin Fowler vorgestelltes Architekturmuster der Softwareentwicklung.[1] Beim Service-Locator gibt es ein zentrales Objekt, die Registrierung (englisch registry), welche auf Anfrage nach einem bestimmten Objekttyp ein entsprechendes Objekt zurückliefert.[2]
Service-Locators werden eingesetzt,
- um die Dependency-Injection zu bootstrappen, d. h. als Zwischenschritt im Refactoring, um eine Anwendung von festen Abhängigkeiten auf Dependency-Injection umzustellen, oder
- um eine dynamische Rekonfigurierung der zu ladenden Objekte während der Laufzeit zu bieten,
- wenn sie durch ein verwendetes Framework erzwungen werden.
Remove ads
Service-Locator als Anti-Pattern
Häufig wird ein Service-Locator von unerfahrenen Entwicklern anstatt von Dependency-Injection verwendet. Dies liegt darin begründet, dass sich Dependency-Injection-Frameworks auch zur Implementierung von Service-Locators eignen. Ein Service-Locator hat jedoch den Nachteil, dass Abhängigkeiten versteckt werden. Durch die versteckten Abhängigkeiten wird es schwerer den Code zu testen und Refactorings durchzuführen. Zudem treten Fehler in der Konfiguration erst zur Laufzeit auf. In diesem Kontext gilt das Service-Locator-Muster daher als Anti-Pattern.[1]
Remove ads
Einzelnachweise
Wikiwand - on
Seamless Wikipedia browsing. On steroids.
Remove ads