So I’ve been reading about it and every example I’ve come across, explain the concept with something like this:
Original:
A ---> B
IoC:
A ---> :I: ---> B ---> C , etc
Where A originally consumes something from B directly.
In IoC
A consumes an interface for which B is one of many possible implementations.
Is this really all there is to Inversion of Control?
This is like say Object Oriented is A:B. No IoC is not what you said, It has some purposes and one of a way to achieving its purposes is working like what you mentioned.
If you see wiki article it uses some basic patterns (actually more than what wiki mentioned):
Also Dependency Injection is one of a common concepts which involves when you doing IoC. I think if you read Martin Fowler’s detailed article: “Inversion of Control Containers and the Dependency Injection pattern“, you can understand it better.