Inversion of control, dependency injection, service locator and so on. Feeling lost?

Lately, I have been bombarded with talk about inversion of control (IoC), dependency injection (DI) and service locators. Unfortunately, I have also heard a lot of odd comments that doesn’t really make sense. But I think that is because people are having trouble separating the different words and understanding what they actually mean.  So I thought I would try to explain the different things as I have understood them. And do so using a simple understandable language, instead of the often overly complex way that a lot of other people use.

More...