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

Loading content...
Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads