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.