A word on scope
The last topic we’ll cover in our service locator deep dive is scope, which comes down to how you manage what services are being registered, where the registration is happening, and how the locator is accessed – all depending on context.
Singleton Service Locators
For starters, everything we did with our BasicLocator
and GenericLocator
classes can be made into a singleton. This approach would give you more control over how the locator object is created and configured, which is especially helpful in Unity if you want to create GameObject
locators from scratch. Since we’ve already gone through the myriad ways of accomplishing such a feat in Chapter 2, Managing Access with the Singleton Pattern, I’d encourage you to head back to the beginning of our adventure and see what new perspective hits you.
Grouping services
If you go the Singleton route, we’ll run into issues when testing because we’ll always get the same...