I'm interested in real examples of dependency injection being useful outside of hooking up testing objects. Anyone got any links to interesting examples?
Martini (https://github.com/go-martini/martini) uses DI for everything. I's supposed to be freaking slow though. But it might not be a real world problem.
I guess I should have been clearer - I mean examples where you actually want different dependencies for the same application.
All uses of DI that I have seen have a single configuration that basically never changes. The DI is used for hooking up test objects, but not for reconfiguring the production app.