What is the Service Locator anti-pattern?
Service Locator lets a class obtain dependencies from a global or ambient container instead of declaring them explicitly. This hides what the class requires and can move dependency errors from construction time to runtime.