It is used primary by Servlets to locate other services such as JMS. A good example of this pattern would be a web based login facility. If a client enters an incorrect password their need to be redirected to a different but their session needs to be main
Multiple clients can reuse the same Service Locator pattern.
The Service Locator pattern can improve performance by introducing a caching facility.
There is a slight loss of performance when using the Service Locator pattern but this is out weighed by the improved maintainability of the code.
None of the definitions of the Service Locator pattern are accurate.
The Service Locator pattern is used to hide the complexities of initial object creation, EJB lookups and object re-creation.