Is the Service Locator pattern just a sneaky way of creating global variables?
Dependency Injection is an important principle of software design, but it can be overused. My biggest concern with overusing inversion-of-control (IoC) containers is that it makes learning a framework ten times harder than it needs to be.