Inversion of control

The term inversion of control refers to a set of patterns that can help us when we have a lot of regression bugs or when it's hard to redeploy our code.

The inconvenience of these patterns becomes clear when we add more complexity to our applications; if they are not well used and understood, they can generate big performance issues and can be hard to debug.

When using inversion of control patterns, we want to invert the control that our classes have on their dependencies. The problem is that when we use classes inside other classes, modifying the low-level classes will impact the high-level classes.

That's why we would prefer to have a dependency on an abstraction rather than a concrete implementation.

IOC is a way of ...

Get ASP.NET Core MVC 2.0 Cookbook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.