Usually, we don’t wire electrical appliances together by attaching the cable directly to the wall. Instead, we use plugs and sockets. A socket defines a shape that the plug must match. In an analogy to software design, the socket is an interface.
If you ever stayed in cheap hotel, you will see hair drier directly attached into the wall outlet.
Now couple of problems here.
- What if your hair drier stopped working?
- What if hotel management decided to switch to new model which consumes less power?
The term Inversion of Control (IoC) is a computer programming technique wherein the flow of the control of an application is inverted. Rather than a caller deciding how to use an object, in this technique the object called decides when and how to answer the caller, so the caller is not in charge of controlling the main flow of the application. Read More →