Inversion of Control - Part 1

Posted by Abhishek on April 20, 2020

Architecture Deep Dive

Inversion of Control is a principle in software engineering by which the control of objects or portions of a program is transferred to a container or framework.

Let’s disect the defintion word by word.

In a nutshell, the principle of Inversion of Control (IOC) says:

Don’t call me, We will call you

It means that don’t call the classes directly for creating objects. Instead, the container/framework will create/manage the objects and will give it to the part of the program that needs that object. In other words, don’t call concretions, instead, rely on the abstractions.

This would remind us of the “D” in SOLID principles.

For those who are hearing SOLID for the first time, we will briefly introduce it so that you don’t lose the flow of thoughts. Every letter in the SOLID is itself a principle.

In Part 2, we will understand the “Ways of achieving IOC”.


Thanks for reading this post. Enjoy !!
Share on: