Breaking down the Service Locator pattern
As part of the Structural family of design patterns, the Service Locator pattern is all about exposing services that need to be global while limiting information on the concrete service code doing the work and where the services are located. Think about how a service is implemented and where it’s housed; these are your guiding stars for this pattern.
The Service Locator pattern is useful when:
- You have unique systems or services that need to be globally accessible regardless of context or scope.
- You want to provide a single access point to a service or services without coupling any client code to the concrete service class implementation.
Most of us use Service Locators every day, but let’s examine a concrete example – getting paid electronically. In the past, you would have to give your payment details to anyone you wanted to request money from over the internet, which was a not-so-small...