tags::#software-engineering/design-patterns
The Inversion-of-Control
(IoC) pattern, is about providing any kind of callback
(which controls reaction), instead of acting ourselves directly (in other words, inversion and/or redirecting control to an external handler/controller).
The Dependency Injection (DI) pattern is a more specific version of IoC pattern and is all about removing dependencies from your code.